]> git.saurik.com Git - wxWidgets.git/commitdiff
'\\' can be used to suppress special meaning in '%' and '$' in wxExpandEnvVars
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 11 Aug 1998 21:12:06 +0000 (21:12 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 11 Aug 1998 21:12:06 +0000 (21:12 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/config.cpp

index 5b3de33e7206b3e5eef1fb19e86ff9a7903a672b..b7c4a11854e14cb6d1c52de4422b6869f7f91a9f 100644 (file)
@@ -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];
     }