summaryrefslogtreecommitdiffstats
path: root/src/depfile_parser.cc
diff options
context:
space:
mode:
authorNicolas Despres <nicolas.despres@gmail.com>2012-03-14 19:33:32 (GMT)
committerNicolas Despres <nicolas.despres@gmail.com>2012-03-14 19:33:32 (GMT)
commit6a09b9653e5c6698dd687c6e9deb0b51eac39dca (patch)
tree3e4debe297d6cb584ae75d2289475d554d51390d /src/depfile_parser.cc
parentfdec96f54e92d2990ebf1ba5434b317d3d8ad49d (diff)
downloadNinja-6a09b9653e5c6698dd687c6e9deb0b51eac39dca.zip
Ninja-6a09b9653e5c6698dd687c6e9deb0b51eac39dca.tar.gz
Ninja-6a09b9653e5c6698dd687c6e9deb0b51eac39dca.tar.bz2
Depfile parser accept tilde.
Diffstat (limited to 'src/depfile_parser.cc')
-rw-r--r--src/depfile_parser.cc16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/depfile_parser.cc b/src/depfile_parser.cc
index 7219eb0..261893f 100644
--- a/src/depfile_parser.cc
+++ b/src/depfile_parser.cc
@@ -64,7 +64,7 @@ bool DepfileParser::Parse(string* content, string* err) {
0, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 0,
+ 128, 128, 128, 0, 0, 0, 128, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -84,7 +84,7 @@ bool DepfileParser::Parse(string* content, string* err) {
};
yych = *in;
- if (yych <= '[') {
+ if (yych <= '\\') {
if (yych <= ':') {
if (yych <= 0x00) goto yy6;
if (yych <= '*') goto yy8;
@@ -92,20 +92,18 @@ bool DepfileParser::Parse(string* content, string* err) {
} else {
if (yych <= '@') goto yy8;
if (yych <= 'Z') goto yy4;
- goto yy8;
+ if (yych <= '[') goto yy8;
}
} else {
- if (yych <= '_') {
- if (yych <= '\\') goto yy2;
- if (yych <= '^') goto yy8;
- goto yy4;
+ if (yych <= '`') {
+ if (yych == '_') goto yy4;
+ goto yy8;
} else {
- if (yych <= '`') goto yy8;
if (yych <= 'z') goto yy4;
+ if (yych == '~') goto yy4;
goto yy8;
}
}
-yy2:
++in;
if ((yych = *in) <= '$') {
if (yych <= '\n') {