This should at least prevent crash in [#35172]...
authorBastien Montagne <montagne29@wanadoo.fr>
Wed, 1 May 2013 17:11:07 +0000 (17:11 +0000)
committerBastien Montagne <montagne29@wanadoo.fr>
Wed, 1 May 2013 17:11:07 +0000 (17:11 +0000)
intern/locale/boost_locale_wrapper.cpp

index 81c348e52f1c357be641faa713438d97f366b014..bc902ac661ee2b23feb2e18cd4bf70b5c59309b5 100644 (file)
@@ -76,20 +76,23 @@ void bl_locale_set(const char *locale)
 #endif
                }
                // Note: boost always uses "C" LC_NUMERIC by default!
-       }
-       catch(std::exception const &e) {
-               std::cout << "bl_locale_set(" << locale << "): " << e.what() << " \n";
-       }
 
-       /* Generate the locale string (useful to know which locale we are actually using in case of "default" one). */
+               /* Generate the locale string (useful to know which locale we are actually using in case of "default" one). */
 #define LOCALE_INFO std::use_facet<boost::locale::info>(_locale)
 
-       locale_str = LOCALE_INFO.language();
-       if (LOCALE_INFO.country() != "") {
-               locale_str += "_" + LOCALE_INFO.country();
+               locale_str = LOCALE_INFO.language();
+               if (LOCALE_INFO.country() != "") {
+                       locale_str += "_" + LOCALE_INFO.country();
+               }
+               if (LOCALE_INFO.variant() != "") {
+                       locale_str += "@" + LOCALE_INFO.variant();
+               }
+
+#undef LOCALE_INFO
+
        }
-       if (LOCALE_INFO.variant() != "") {
-               locale_str += "@" + LOCALE_INFO.variant();
+       catch(std::exception const &e) {
+               std::cout << "bl_locale_set(" << locale << "): " << e.what() << " \n";
        }
 }