]> git.saurik.com Git - wxWidgets.git/commitdiff
fix a problem with setlocale() under Windows: with MSVC7 it sometimes returns garbage...
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Wed, 1 Apr 2009 15:20:42 +0000 (15:20 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Wed, 1 Apr 2009 15:20:42 +0000 (15:20 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/xlocale.cpp

index f66b2ab71a31e57ab8a2124f68db8c2782b47da2..0864e50c26682803e8417e0456d1eae3b5d2a6fe 100644 (file)
@@ -276,11 +276,14 @@ int wxToupper_l(const wxUniChar& c, const wxXLocale& loc)
              case !wxHAS_XLOCALE_SUPPORT...
 */
 
+/*
+    Note that this code is similar to (a portion of) wxLocale::IsAvailable code
+*/
 #define IMPLEMENT_STRTOX_L_START                                \
     wxCHECK(loc.IsOk(), 0);                                     \
                                                                 \
     /* (Try to) temporary set the locale to 'C' */              \
-    const char *oldLocale = wxSetlocale(LC_NUMERIC, "");        \
+    const char *oldLocale = wxSetlocale(LC_NUMERIC, NULL);      \
     const char *tmp = wxSetlocale(LC_NUMERIC, "C");             \
     if ( !tmp )                                                 \
     {                                                           \
@@ -289,9 +292,7 @@ int wxToupper_l(const wxUniChar& c, const wxXLocale& loc)
         errno = EINVAL;                                         \
             /* signal an error (better than nothing) */         \
         return 0;                                               \
-    }                                                           \
-                                                                \
-
+    }
 
 #define IMPLEMENT_STRTOX_L_END                                  \
     /* restore the original locale */                           \