Re: [HACKERS] Re: pgsql: setlocale() on Windows doesn't work correctly if the locale name

Hiroshi Inoue <inoue@tpf.co.jp>

From: Hiroshi Inoue <inoue@tpf.co.jp>
To: Andrew Dunstan <andrew@dunslane.net>, Heikki Linnakangas <heikki.linnakangas@iki.fi>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org, pgsql-committers@postgresql.org
Date: 2011-04-20T03:48:14Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. setlocale() on Windows doesn't work correctly if the locale name contains

(2011/04/20 12:25), Andrew Dunstan wrote:
> 
> On 04/19/2011 09:42 PM, Hiroshi Inoue wrote:
>>
>> bootstrap_template1() in initdb runs the BKI script in bootstrap
>> mode to create template1. Some symbols (LC_COLLATE, LC_CTYPE in
>> pg_database etc) in the BKI script are substituted by actual values
>> using replace_token(). Isn't it correct?
>> ISTM replace_token() takes care of nothing about single quotes
>> in its input values but the comment in scanstr() says
>>                          /*
>>                           * Note: if scanner is working right, unescaped
>> quotes can only
>>                           * appear in pairs, so there should be another
>> character.
>>                           */
>>
> 
> That's perfectly true, but only one of the replaced locale names
> contains a single quote mark. So clearly there's more going on here than
> just the bug you're referring to. Heikki's commit message specifically
> refers to dots in locale names, which shouldn't cause a problem of that
> type, I believe.

Yes it's completely another issue as for dots.
I can find no concrete reference to problems about locale
 names containing dots. Is the following an example?

In my environment (Windows Vista using VC8)

  setlocale(LC_XXXX, "Chinese (Traditional)_MCO.950");
works and
  setlocale(LC_XXXX, NULL);
returns
  Chinese (Traditional)_Macao S.A.R..950
but
  setlocale(LC_XXXX, "Chinese (Traditional)_Macao S.A.R..950");
fails.

regards,
Hiroshi Inoue