diff options
author | Christian Dywan <christian@lanedo.com> | 2011-04-15 01:16:54 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2011-04-15 01:20:10 +0200 |
commit | 0cc476b2b180a840a078960bf83826dc12823646 (patch) | |
tree | 6e73478041742f61935b9fe3e034c6b9ba29b03e /sal/osl | |
parent | 0e56d8c1d4c56fb3d0fef9956bf6f46434ac8624 (diff) |
Fixed LANG setting in the _imp_setProcessLocale() function.
Diffstat (limited to 'sal/osl')
-rw-r--r-- | sal/osl/unx/nlsupport.c | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/sal/osl/unx/nlsupport.c b/sal/osl/unx/nlsupport.c index d1c2c984bd9a..a9b84cbab8dd 100644 --- a/sal/osl/unx/nlsupport.c +++ b/sal/osl/unx/nlsupport.c @@ -942,6 +942,16 @@ void _imp_getProcessLocale( rtl_Locale ** ppLocale ) set the current process locale *****************************************************************************/ +static int +_setenv (const char* name, const char* value) +{ +#if defined( AIX ) + return setenv (name, value, 1); +#else + return setenv (name, value); +#endif +} + int _imp_setProcessLocale( rtl_Locale * pLocale ) { char locale_buf[64]; @@ -950,32 +960,14 @@ int _imp_setProcessLocale( rtl_Locale * pLocale ) if( NULL != _compose_locale( pLocale, locale_buf, 64 ) ) { /* only change env vars that exist already */ - if( getenv( "LC_ALL" ) ) { -#if defined( FREEBSD ) || defined( NETBSD ) || defined( MACOSX ) || \ - defined( AIX ) || defined( OPENBSD ) || defined( DRAGONFLY ) - setenv( "LC_ALL", locale_buf, 1); -#else - setenv( "LC_ALL", locale_buf ); -#endif - } + if( getenv( "LC_ALL" ) ) + _setenv( "LC_ALL", locale_buf ); - if( getenv( "LC_CTYPE" ) ) { -#if defined( FREEBSD ) || defined( NETBSD ) || defined( MACOSX ) || \ - defined( AIX ) || defined( OPENBSD ) || defined( DRAGONFLY ) - setenv("LC_CTYPE", locale_buf, 1 ); -#else - setenv( "LC_CTYPE", locale_buf ); -#endif - } + if( getenv( "LC_CTYPE" ) ) + _setenv("LC_CTYPE", locale_buf ); - if( getenv( "LANG" ) ) { -#if defined( FREEBSD ) || defined( NETBSD ) || defined( MACOSX ) || \ - defined( AIX ) || defined( OPENBSD) || defined( DRAGONFLY ) - setenv("LC_CTYPE", locale_buf, 1 ); -#else - setenv( "LANG", locale_buf ); -#endif - } + if( getenv( "LANG" ) ) + _setenv( "LANG", locale_buf ); } return 0; |