r8388 | jkupec | 2008-01-29 17:05:41 +0100 (Di, 29 Jan 2008) | 2 lines
authorStephan Kulow <coolo@suse.de>
Fri, 8 Feb 2008 09:13:21 +0000 (09:13 +0000)
committerStephan Kulow <coolo@suse.de>
Fri, 8 Feb 2008 09:13:21 +0000 (09:13 +0000)
   - handle \" and \ at the end of the quoted parameter value

zypp/media/CurlConfig.cc

index 38acacc..e2ff121 100644 (file)
@@ -108,13 +108,22 @@ namespace zypp
         {
           // remove the quotes
           string::size_type pos = value.rfind('\"');
+          bool cut_last =
+            pos == value.size() - 1 && pos > 1 && value[pos-1] != '\\';
           value = value.substr(1,
-            pos == value.size() - 1 ? value.size() - 2 : value.size() - 1);
+              cut_last ? value.size() - 2 : value.size() - 1);
 
           // replace special characters:
           pos = 0;
           while ((pos = value.find('\\', pos)) != string::npos)
           {
+            // just erase the backslash if it is found at the end
+            if (pos == value.size() - 1)
+            {
+              value = value.erase(pos, 1);
+              break;
+            }
+
             switch(value[pos+1])
             {
             case 't':