mirror of
https://github.com/postgres/postgres.git
synced 2025-05-29 16:21:20 +03:00
Windows uses codepages rather than the environment, so we work around
that by querying the environment explicitly first for LC_COLLATE and LC_CTYPE. We have to do this because initdb passes those values in the environment. If there is nothing there we fall back on the codepage. Andrew Dunstan
This commit is contained in:
parent
221c0adaa8
commit
dea47eee06
@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/main/main.c,v 1.75 2004/03/05 01:11:04 momjian Exp $
|
* $PostgreSQL: pgsql/src/backend/main/main.c,v 1.76 2004/03/15 16:14:26 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -74,6 +74,10 @@ main(int argc, char *argv[])
|
|||||||
#endif /* NOPRINTADE */
|
#endif /* NOPRINTADE */
|
||||||
#endif /* __alpha */
|
#endif /* __alpha */
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
char *env_locale;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(NOFIXADE) || defined(NOPRINTADE)
|
#if defined(NOFIXADE) || defined(NOPRINTADE)
|
||||||
|
|
||||||
#if defined(ultrix4)
|
#if defined(ultrix4)
|
||||||
@ -143,8 +147,30 @@ main(int argc, char *argv[])
|
|||||||
* set later during GUC option processing, but we set it here to allow
|
* set later during GUC option processing, but we set it here to allow
|
||||||
* startup error messages to be localized.
|
* startup error messages to be localized.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
/*
|
||||||
|
* Windows uses codepages rather than the environment, so we work around
|
||||||
|
* that by querying the environment explicitly first for LC_COLLATE
|
||||||
|
* and LC_CTYPE. We have to do this because initdb passes those values
|
||||||
|
* in the environment. If there is nothing there we fall back on the
|
||||||
|
* codepage.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if ((env_locale = getenv("LC_COLLATE")) != NULL)
|
||||||
|
setlocale(LC_COLLATE,env_locale);
|
||||||
|
else
|
||||||
|
setlocale(LC_COLLATE, "");
|
||||||
|
|
||||||
|
if ((env_locale = getenv("LC_CTYPE")) != NULL)
|
||||||
|
setlocale(LC_CTYPE,env_locale);
|
||||||
|
else
|
||||||
|
setlocale(LC_CTYPE, "");
|
||||||
|
#else
|
||||||
setlocale(LC_COLLATE, "");
|
setlocale(LC_COLLATE, "");
|
||||||
setlocale(LC_CTYPE, "");
|
setlocale(LC_CTYPE, "");
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef LC_MESSAGES
|
#ifdef LC_MESSAGES
|
||||||
setlocale(LC_MESSAGES, "");
|
setlocale(LC_MESSAGES, "");
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user