]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/config.cpp
Added validation support
[wxWidgets.git] / 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];
     }