From: Vadim Zeitlin Date: Tue, 11 Aug 1998 21:12:06 +0000 (+0000) Subject: '\\' can be used to suppress special meaning in '%' and '$' in wxExpandEnvVars X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/906373bf0177babd67d392a70964fde125b3d3a4 '\\' can be used to suppress special meaning in '%' and '$' in wxExpandEnvVars git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/config.cpp b/src/common/config.cpp index 5b3de33e72..b7c4a11854 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -222,11 +222,12 @@ wxString wxExpandEnvVars(const wxString& str) // check the closing bracket if ( bracket != Bracket_None ) { if ( m == str.Len() || str[m] != (char)bracket ) { - wxLogWarning(_("missing '%c' at position %d in '%s'."), + wxLogWarning(_("Environment variables expansion failed: " + "missing '%c' at position %d in '%s'."), (char)bracket, m + 1, str.c_str()); } else { - // skip closing bracket + // skip closing bracket unless the variables wasn't expanded if ( pszValue == NULL ) strResult << (char)bracket; m++; @@ -237,6 +238,15 @@ wxString wxExpandEnvVars(const wxString& str) } break; + case '\\': + // backslash can be used to suppress special meaning of % and $ + if ( n != str.Len() && (str[n + 1] == '%' || str[n + 1] == '$') ) { + strResult += str[++n]; + + break; + } + //else: fall through + default: strResult += str[n]; }