X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/41f3015283f5171b56432d337394e34b6eb03c67..63e02796620637b50a96d74a2264f3dea8def866:/src/common/config.cpp?ds=sidebyside diff --git a/src/common/config.cpp b/src/common/config.cpp index 4b509a7fc0..16cc86d8f2 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -297,6 +297,24 @@ wxConfigPathChanger::~wxConfigPathChanger() } } +// this is a wxConfig method but it's mainly used with wxConfigPathChanger +/* static */ +wxString wxConfigBase::RemoveTrailingSeparator(const wxString& key) +{ + wxString path(key); + + // don't remove the only separator from a root group path! + while ( path.length() > 1 ) + { + if ( *path.rbegin() != wxCONFIG_PATH_SEPARATOR ) + break; + + path.erase(path.end() - 1); + } + + return path; +} + #endif // wxUSE_CONFIG // ---------------------------------------------------------------------------- @@ -369,7 +387,12 @@ wxString wxExpandEnvVars(const wxString& str) #ifdef __WXWINCE__ const wxChar *pszValue = NULL; #else - const wxChar *pszValue = wxGetenv(strVarName); + // NB: use wxGetEnv instead of wxGetenv as otherwise variables + // set through wxSetEnv may not be read correctly! + const wxChar *pszValue = NULL; + wxString tmp; + if (wxGetEnv(strVarName, &tmp)) + pszValue = tmp; #endif if ( pszValue != NULL ) { strResult += pszValue;