From a3bc9dc51104d01ec203b8e2d5767dd055a42b58 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 21 Dec 2021 15:26:54 +0200 Subject: loplugin:flatten in filter..include Change-Id: I74c1ea8b9b490eaa9508a885758224063e39051b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127235 Tested-by: Jenkins Reviewed-by: Noel Grandin --- i18nlangtag/source/isolang/inunx.cxx | 80 ++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 40 deletions(-) (limited to 'i18nlangtag') diff --git a/i18nlangtag/source/isolang/inunx.cxx b/i18nlangtag/source/isolang/inunx.cxx index e8ad10059d24..4dd4cdb3531b 100644 --- a/i18nlangtag/source/isolang/inunx.cxx +++ b/i18nlangtag/source/isolang/inunx.cxx @@ -88,60 +88,60 @@ static void getPlatformSystemLanguageImpl( LanguageType& rSystemLanguage, { /* get the language from the user environment */ LanguageType nLang = rSystemLanguage; + if ( nLang != LANGUAGE_DONTKNOW ) + return; + + ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex()); + nLang = rSystemLanguage; if ( nLang == LANGUAGE_DONTKNOW ) { - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex()); - nLang = rSystemLanguage; - if ( nLang == LANGUAGE_DONTKNOW ) - { #ifdef MACOSX - rtl_Locale *procLocale; - (void) pGetLangFromEnv; /* unused */ + rtl_Locale *procLocale; + (void) pGetLangFromEnv; /* unused */ - if ( osl_getProcessLocale(&procLocale) == osl_Process_E_None ) - { - nLang = LanguageTag( *procLocale ).makeFallback().getLanguageType(); - OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); - rSystemLanguage = nLang; + if ( osl_getProcessLocale(&procLocale) == osl_Process_E_None ) + { + nLang = LanguageTag( *procLocale ).makeFallback().getLanguageType(); + OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); + rSystemLanguage = nLang; #ifdef DEBUG - if ( rSystemLanguage == LANGUAGE_DONTKNOW ) - fprintf( stderr, "intnunx.cxx: failed to convert osl_getProcessLocale() language to system language.\n" ); + if ( rSystemLanguage == LANGUAGE_DONTKNOW ) + fprintf( stderr, "intnunx.cxx: failed to convert osl_getProcessLocale() language to system language.\n" ); #endif - } + } #else /* MACOSX */ - bool bColonList = false; - OString aUnxLang( pGetLangFromEnv( bColonList)); - if (bColonList) + bool bColonList = false; + OString aUnxLang( pGetLangFromEnv( bColonList)); + if (bColonList) + { + // Only a very simple "take first". If empty try second or keep empty. + sal_Int32 n = aUnxLang.indexOf(':'); + if (n >= 0) { - // Only a very simple "take first". If empty try second or keep empty. - sal_Int32 n = aUnxLang.indexOf(':'); - if (n >= 0) + sal_Int32 s = 0; + if (n == 0 && aUnxLang.getLength() > 1) { - sal_Int32 s = 0; - if (n == 0 && aUnxLang.getLength() > 1) + n = aUnxLang.indexOf(':', 1); + if (n < 0) + n = aUnxLang.getLength(); + if (n < 2) + s = n = 0; + else { - n = aUnxLang.indexOf(':', 1); - if (n < 0) - n = aUnxLang.getLength(); - if (n < 2) - s = n = 0; - else - { - s = 1; - --n; - } + s = 1; + --n; } - aUnxLang = aUnxLang.copy(s,n); } + aUnxLang = aUnxLang.copy(s,n); } - nLang = MsLangId::convertUnxByteStringToLanguage( aUnxLang ); - OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); - rSystemLanguage = nLang; -#endif /* MACOSX */ - } - else { - OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); } + nLang = MsLangId::convertUnxByteStringToLanguage( aUnxLang ); + OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); + rSystemLanguage = nLang; +#endif /* MACOSX */ + } + else { + OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER(); } } -- cgit