make wxSetEnv compatible with ANSI and Unicode, deprecate passing NULL to it in favour of wxUnsetEnv()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-06-19 20:02:49 +00:00
parent 531814a7fb
commit 90a77e6484
8 changed files with 92 additions and 16 deletions

View File

@@ -1064,13 +1064,10 @@ 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)
{
#if defined(HAVE_SETENV)
return setenv(variable.mb_str(),
value ? (const char *)wxString(value).mb_str()
: NULL,
1 /* overwrite */) == 0;
return setenv(variable.mb_str(), value, 1 /* overwrite */) == 0;
#elif defined(HAVE_PUTENV)
wxString s = variable;
if ( value )
@@ -1089,6 +1086,16 @@ bool wxSetEnv(const wxString& variable, const wxChar *value)
#endif
}
bool wxSetEnv(const wxString& variable, const wxString& value)
{
return wxDoSetEnv(variable, value.mb_str());
}
bool wxUnsetEnv(const wxString& variable)
{
return wxDoSetEnv(variable, NULL);
}
// ----------------------------------------------------------------------------
// signal handling
// ----------------------------------------------------------------------------