vlc | branch: master | Felix Paul Kühne <[email protected]> | Sun Nov 10 
01:12:54 2013 +0100| [a24db0a78bd552ae26f8e3aab3a3dff8f41e7cbb] | committer: 
Felix Paul Kühne

bin/darwinvlc: fix l10n preferences lookup code

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a24db0a78bd552ae26f8e3aab3a3dff8f41e7cbb
---

 bin/darwinvlc.c |   22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/bin/darwinvlc.c b/bin/darwinvlc.c
index 4b6847a..33bb4f3 100644
--- a/bin/darwinvlc.c
+++ b/bin/darwinvlc.c
@@ -168,23 +168,29 @@ int main( int i_argc, const char *ppsz_argv[] )
             continue;
         }
     }
+    if (lang && strncmp( lang, "auto", 4 )) {
+        char tmp[11];
+        snprintf(tmp, 11, "LANG%s", lang);
+        putenv(tmp);
+    }
 
     if (!lang) {
         CFStringRef language;
         language = (CFStringRef)CFPreferencesCopyAppValue(CFSTR("language"),
                                                           
kCFPreferencesCurrentApplication);
         if (language) {
-            if (CFStringGetLength(language) > 0)
-                lang = (char *)CFStringGetCStringPtr(language, 
kCFStringEncodingUTF8);
+            CFIndex length = CFStringGetLength(language) + 1;
+            if (length > 0) {
+                CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, 
kCFStringEncodingUTF8);
+                lang = (char *)malloc(maxSize);
+                CFStringGetCString(language, lang, maxSize - 1, 
kCFStringEncodingUTF8);
+            }
+            char tmp[11];
+            snprintf(tmp, 11, "LANG=%s", lang);
+            putenv(tmp);
             CFRelease(language);
         }
     }
-
-    if (lang && strncmp( lang, "auto", 4 )) {
-        char tmp[11];
-        snprintf(tmp, 11, "LANG%s", lang);
-        putenv(tmp);
-    }
 #endif
 
     ppsz_argv++; i_argc--; /* skip executable path */

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to