diff --git a/sal/osl/os2/nlsupport.c b/sal/osl/os2/nlsupport.c index 1167148..60e21d5 100644 --- a/sal/osl/os2/nlsupport.c +++ b/sal/osl/os2/nlsupport.c @@ -415,29 +415,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( __EMX__ ) - 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( __EMX__ ) - 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( __EMX__ ) - setenv("LC_CTYPE", locale_buf, 1 ); -#else - setenv( "LANG", locale_buf ); -#endif - } + if( getenv( "LANG" ) ) + _setenv( "LANG", locale_buf ); } return 0; diff --git a/sal/osl/unx/nlsupport.c b/sal/osl/unx/nlsupport.c index 4264571..a7b569a 100644 --- a/sal/osl/unx/nlsupport.c +++ b/sal/osl/unx/nlsupport.c @@ -44,6 +44,16 @@ #endif /* !MACOSX */ #endif /* LINUX || SOLARIS || NETBSD || MACOSX */ +static int +_setenv (const char* name, const char* value) +{ +#if defined( FREEBSD ) || defined( NETBSD ) || defined( MACOSX ) || \ + defined( AIX ) || defined( OPENBSD) || defined( DRAGONFLY ) || defined( __EMX__ ) + return setenv (name, value, 1); +#else + return setenv (name, value); +} + #include /***************************************************************************** @@ -904,9 +914,9 @@ void _imp_getProcessLocale( rtl_Locale ** ppLocale ) /* return the locale */ *ppLocale = _parse_locale( locale ); - setenv( "LC_ALL", locale, 1); - setenv("LC_CTYPE", locale, 1 ); - setenv("LANG", locale, 1 ); + _setenv( "LC_ALL", locale ); + _setenv("LC_CTYPE", locale ); + _setenv("LANG", locale ); #ifdef DEBUG fprintf( stderr, "nlsupport.c: _imp_getProcessLocale() returning %s as current locale.\n", locale ); @@ -950,32 +960,15 @@ 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;