From 66eacc2abbe0aa5ed7f37c0b67a84bf44eca9adc Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 4 Feb 2015 16:02:47 +0500 Subject: Fix for recent LANG locale workaround Need to get a copy of the string since stored pointer is affected by subsequent calls of setlocale(). --- source/blender/blenfont/intern/blf_lang.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender') diff --git a/source/blender/blenfont/intern/blf_lang.c b/source/blender/blenfont/intern/blf_lang.c index 8951ef50607..7206d71b3b8 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 -- cgit v1.2.3