]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msdos/utilsdos.cpp
implement flag for Unix-like behaviour in wxCmdLineParser::ConverStringToArgs()
[wxWidgets.git] / src / msdos / utilsdos.cpp
index 3b9328c561ac7128de61b402a23aedefaa62e195..ff4647668c0a9df96f65fbcede49785be908e43f 100644 (file)
@@ -96,7 +96,7 @@ bool wxGetEnv(const wxString& var, wxString *value)
     return true;
 }
 
-bool wxSetEnv(const wxString& variable, const wxChar *value)
+static bool wxDoSetEnv(const wxString& variable, const char *value)
 {
     wxString s = variable;
     if ( value )
@@ -112,6 +112,17 @@ bool wxSetEnv(const wxString& variable, const wxChar *value)
     return putenv(buf) == 0;
 }
 
+bool wxSetEnv(const wxString& variable, const wxString& value)
+{
+    return wxDoSetEnv(variable, value.mb_str());
+}
+
+bool wxUnsetEnv(const wxString& variable)
+{
+    return wxDoSetEnv(variable, NULL);
+}
+
+
 //----------------------------------------------------------------------------
 // Hostname, username, home directory
 //----------------------------------------------------------------------------
@@ -200,14 +211,14 @@ const wxChar* wxGetHomeDir(wxString *home)
     return strDir.c_str();
 }
 
-wxChar *wxGetUserHome(const wxString& user)
+wxString wxGetUserHome(const wxString& user)
 {
-    static wxString home;
+    wxString home;
 
     if (user.empty() || user == wxGetUserId())
-        return wx_const_cast(wxChar*, wxGetHomeDir(&home));
-    else
-        return _T("");
+        wxGetHomeDir(&home);
+
+    return home;
 }
 
 // returns %UserName%, $USER or just "user"