use unsetenv() instead of setenv(var, NULL) which is invalid

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@47942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-08-07 22:29:07 +00:00
parent fbd4ef1c5e
commit 6e66311d0a
5 changed files with 344 additions and 103 deletions

View File

@@ -1060,9 +1060,17 @@ bool wxGetEnv(const wxString& var, wxString *value)
bool wxSetEnv(const wxString& variable, const wxChar *value)
{
#if defined(HAVE_SETENV)
if ( !value )
{
#ifdef HAVE_UNSETENV
return unsetenv(variable.mb_str()) == 0;
#else
value = _T(""); // we can't pass NULL to setenv()
#endif
}
return setenv(variable.mb_str(),
value ? (const char *)wxString(value).mb_str()
: NULL,
wxString(value).mb_str(),
1 /* overwrite */) == 0;
#elif defined(HAVE_PUTENV)
wxString s = variable;