From 8269a903770849a65ca2e76bcf672d8e4c050004 Mon Sep 17 00:00:00 2001 From: Stefan Neis Date: Fri, 20 Apr 2001 21:17:54 +0000 Subject: [PATCH] Added wxGetEnv and wxPutEnv. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/os2/utils.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/os2/utils.cpp b/src/os2/utils.cpp index 4ae4063779..675b80e3e8 100644 --- a/src/os2/utils.cpp +++ b/src/os2/utils.cpp @@ -212,6 +212,49 @@ long wxGetFreeMemory() return (long)lSize; } +// ---------------------------------------------------------------------------- +// env vars +// ---------------------------------------------------------------------------- + +bool wxGetEnv(const wxString& var, wxString *value) +{ + // wxGetenv is defined as getenv() + wxChar *p = wxGetenv(var); + if ( !p ) + return FALSE; + + if ( value ) + { + *value = p; + } + + return TRUE; +} + +bool wxSetEnv(const wxString& variable, const wxChar *value) +{ +#if defined(HAVE_SETENV) + return setenv(variable.mb_str(), value ? wxString(value).mb_str().data() + : NULL, 1 /* overwrite */) == 0; +#elif defined(HAVE_PUTENV) + wxString s = variable; + if ( value ) + s << _T('=') << value; + + // transform to ANSI + const char *p = s.mb_str(); + + // the string will be free()d by libc + char *buf = (char *)malloc(strlen(p) + 1); + strcpy(buf, p); + + return putenv(buf) == 0; +#else // no way to set an env var + return FALSE; +#endif +} + + // Sleep for nSecs seconds. Attempt a Windows implementation using timers. static bool inTimer = FALSE; -- 2.45.2