]> git.mxchange.org Git - simgear.git/commitdiff
Fix locale setting for Windows
authorThorstenB <brehmt@gmail.com>
Mon, 18 Jul 2011 18:29:11 +0000 (20:29 +0200)
committerThorstenB <brehmt@gmail.com>
Mon, 18 Jul 2011 18:29:11 +0000 (20:29 +0200)
simgear/scene/tsync/terrasync.cxx

index 0c28a46cb2146cd2c7fadd1e4c8159a5d20c39ea..357390cc4b79483dc4ce67d75ba69e1ff2936856 100644 (file)
@@ -563,18 +563,21 @@ int SGTerraSync::SvnThread::svnClientSetup(void)
     if (_svn_pool) return EXIT_SUCCESS;
     // No, so initialize svn internals generally
 
-    /* svn_cmdline_init configures the locale. Setup environment to ensure the
-     * default "C" locale remains active, since fgfs isn't locale aware - especially
-     * requires "." as decimal point in strings containing floating point varibales. */
-    setenv("LC_ALL", "C", 1);
-
 #ifdef _MSC_VER
     // there is a segfault when providing an error stream.
     //  Apparently, calling setvbuf with a nul buffer is
     //  not supported under msvc 7.1 ( code inside svn_cmdline_init )
     if (svn_cmdline_init("terrasync", 0) != EXIT_SUCCESS)
         return EXIT_FAILURE;
+
+    // revert locale setting
+    setlocale(LC_ALL,"C");
 #else
+    /* svn_cmdline_init configures the locale. Setup environment to ensure the
+     * default "C" locale remains active, since fgfs isn't locale aware - especially
+     * requires "." as decimal point in strings containing floating point varibales. */
+    setenv("LC_ALL", "C", 1);
+
     if (svn_cmdline_init("terrasync", stderr) != EXIT_SUCCESS)
         return EXIT_FAILURE;
 #endif