< prev index next >

src/solaris/native/java/lang/java_props_macosx.c

Print this page

        

@@ -45,10 +45,12 @@
 }
 
 #define LOCALEIDLENGTH  128
 char *getMacOSXLocale(int cat) {
     const char* retVal = NULL;
+    char languageString[LOCALEIDLENGTH];
+    char localeString[LOCALEIDLENGTH];
 
     switch (cat) {
     case LC_MESSAGES:
         {
             // get preferred language code

@@ -64,11 +66,10 @@
             CFStringRef primaryLanguage = (CFStringRef)CFArrayGetValueAtIndex(languages, 0);
             if (primaryLanguage == NULL) {
                 CFRelease(languages);
                 return NULL;
             }
-            char languageString[LOCALEIDLENGTH];
             if (CFStringGetCString(primaryLanguage, languageString,
                                    LOCALEIDLENGTH, CFStringGetSystemEncoding()) == false) {
                 CFRelease(languages);
                 return NULL;
             }

@@ -79,22 +80,20 @@
             // Special case for Portuguese in Brazil:
             // The language code needs the "_BR" region code (to distinguish it
             // from Portuguese in Portugal), but this is missing when using the
             // "Portuguese (Brazil)" language.
             // If language is "pt" and the current locale is pt_BR, return pt_BR.
-            char localeString[LOCALEIDLENGTH];
             if (strcmp(retVal, "pt") == 0 &&
                     CFStringGetCString(CFLocaleGetIdentifier(CFLocaleCopyCurrent()),
                                        localeString, LOCALEIDLENGTH, CFStringGetSystemEncoding()) &&
                     strcmp(localeString, "pt_BR") == 0) {
                 retVal = localeString;
             }
         }
         break;
     default:
         {
-            char localeString[LOCALEIDLENGTH];
             if (!CFStringGetCString(CFLocaleGetIdentifier(CFLocaleCopyCurrent()),
                                     localeString, LOCALEIDLENGTH, CFStringGetSystemEncoding())) {
                 return NULL;
             }
             retVal = localeString;
< prev index next >