[Bf-blender-cvs] [66eacc2] master: Fix for recent LANG locale workaround

Sergey Sharybin noreply at git.blender.org
Wed Feb 4 12:04:07 CET 2015


Commit: 66eacc2abbe0aa5ed7f37c0b67a84bf44eca9adc
Author: Sergey Sharybin
Date:   Wed Feb 4 16:02:47 2015 +0500
Branches: master
https://developer.blender.org/rB66eacc2abbe0aa5ed7f37c0b67a84bf44eca9adc

Fix for recent LANG locale workaround

Need to get a copy of the string since stored pointer is affected
by subsequent calls of setlocale().

===================================================================

M	source/blender/blenfont/intern/blf_lang.c

===================================================================

diff --git a/source/blender/blenfont/intern/blf_lang.c b/source/blender/blenfont/intern/blf_lang.c
index 8951ef5..7206d71 100644
--- a/source/blender/blenfont/intern/blf_lang.c
+++ b/source/blender/blenfont/intern/blf_lang.c
@@ -211,11 +211,14 @@ void BLF_lang_init(void)
 	const char *lang = getenv("LANG");
 	if(lang != NULL) {
 		char *old_locale = setlocale(LC_ALL, NULL);
+		/* Make a copy so subsequenct setlocale() doesn't interfere. */
+		old_locale = BLI_strdup(old_locale);
 		if (setlocale(LC_ALL, lang) == NULL) {
 			setenv("LANG", "C", 1);
 			printf("Warning: Falling back to the standard locale (\"C\")\n");
 		}
 		setlocale(LC_ALL, old_locale);
+		MEM_freeN(old_locale);
 	}
 #endif




More information about the Bf-blender-cvs mailing list