[MS.Build] '\\' is also escaped syntax, so parse it carefully too.
authorAtsushi Eno <atsushieno@gmail.com>
Fri, 30 May 2014 08:24:34 +0000 (17:24 +0900)
committerAtsushi Eno <atsushieno@gmail.com>
Mon, 2 Jun 2014 08:58:53 +0000 (17:58 +0900)
mcs/class/Microsoft.Build/Microsoft.Build.Internal/ExpressionParserManual.cs

index 44977abf9af3e0990579d90641e4c401c14beef3..bd01586c295718e2f265903749a20e49841b6ba8 100644 (file)
@@ -169,7 +169,7 @@ namespace Microsoft.Build.Internal.Expressions
                {
                        int n = 0;
                        for (int i = start; i < end; i++) {
-                               if (i < end + 1 && source [i] == '\\' && source [i + 1] == quote)
+                               if (i < end + 1 && source [i] == '\\' && (source [i + 1] == quote || source [i + 1] == '\\'))
                                        n += 2;
                                else if (source [i] == quote) {
                                        if (n-- == 0)