]> git.saurik.com Git - wxWidgets.git/commitdiff
Update CRT environment in wxSetEnv() for MinGW too.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 3 Oct 2010 17:16:09 +0000 (17:16 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 3 Oct 2010 17:16:09 +0000 (17:16 +0000)
MinGW uses the same CRT as MSVC so we can use the same _putenv() call for it
too. This ensures that wxGetenv() returns the value updated by wxSetEnv() and
fixes CrtTestCase::SetGetEnv() unit test when using MinGW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

interface/wx/utils.h
src/msw/utils.cpp

index 8bf3b1948f25d474cf8db634077361ac9efe5866..c09df344ba40bd5ed7e36a05824cb1ed5a77f99c 100644 (file)
@@ -190,8 +190,9 @@ bool wxGetEnv(const wxString& var, wxString* value);
     environment. wxSetEnv() will always update the first copy, which means that
     wxGetEnv(), which uses it directly, will always return the expected value
     after this call. But wxSetEnv() only updates the second copy for some
-    compilers/CRT implementations (currently only MSVC) and so using wxGetenv()
-    (notice the difference in case) may not return the updated value.
+    compilers/CRT implementations (currently only MSVC and MinGW which uses the
+    same MSVC CRT) and so using wxGetenv() (notice the difference in case) may
+    not return the updated value.
 
     @param var
         The environment variable to be set, must not contain @c '=' character.
index a456a3417a654ae979bf7a88c6b87d55b68d591a..e7445c3fcbd494d546a66b0f406cfac28a889cff 100644 (file)
@@ -627,7 +627,7 @@ bool wxDoSetEnv(const wxString& var, const wxChar *value)
     //
     // TODO: add checks for the other compilers (and update wxSetEnv()
     //       documentation in interface/wx/utils.h accordingly)
-#if defined(__VISUALC__)
+#if defined(__VISUALC__) || defined(__MINGW32__)
     // notice that Microsoft _putenv() has different semantics from POSIX
     // function with almost the same name: in particular it makes a copy of the
     // string instead of using it as part of environment so we can safely call