Chromium Code Reviews| Index: tools/gn/escape.cc |
| diff --git a/tools/gn/escape.cc b/tools/gn/escape.cc |
| index 58bb04e7f771e7f207a3bb293d009ec74264d47e..06f6ee8bec3d6b6758a62b498506b26aa09c85da 100644 |
| --- a/tools/gn/escape.cc |
| +++ b/tools/gn/escape.cc |
| @@ -48,6 +48,17 @@ void EscapeStringToString_Ninja(const base::StringPiece& str, |
| NinjaEscapeChar(str[i], dest); |
| } |
| +template<typename DestString> |
| +void EscapeStringToString_NinjaPreformatted(const base::StringPiece& str, |
| + DestString* dest) { |
| + // Only Ninja-escape $. |
| + for (size_t i = 0; i < str.size(); i++) { |
| + if (str[i] == '$') |
| + dest->push_back('$'); |
|
jamesr
2014/08/19 19:30:41
what is this accomplishing? it looks like this fun
brettw
2014/08/19 21:29:56
It's a string copy that converts "$" -> "$$" (the
|
| + dest->push_back(str[i]); |
| + } |
| +} |
| + |
| // Escape for CommandLineToArgvW and additionally escape Ninja characters. |
| // |
| // The basic algorithm is if the string doesn't contain any parse-affecting |
| @@ -166,6 +177,9 @@ void EscapeStringToString(const base::StringPiece& str, |
| NOTREACHED(); |
| } |
| break; |
| + case ESCAPE_NINJA_PREFORMATTED_COMMAND: |
| + EscapeStringToString_NinjaPreformatted(str, dest); |
| + break; |
| default: |
| NOTREACHED(); |
| } |