summaryrefslogtreecommitdiff
path: root/i18nlangtag
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-12-21 15:26:54 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-12-22 07:44:07 +0100
commita3bc9dc51104d01ec203b8e2d5767dd055a42b58 (patch)
treec91162db37e16ab64ede3686ecc4a3fa473d28ea /i18nlangtag
parent494b3e69fd4bef0af19627cf31da98da376019d0 (diff)
loplugin:flatten in filter..include
Change-Id: I74c1ea8b9b490eaa9508a885758224063e39051b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127235 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'i18nlangtag')
-rw-r--r--i18nlangtag/source/isolang/inunx.cxx80
1 files changed, 40 insertions, 40 deletions
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();
}
}