summaryrefslogtreecommitdiffstats
path: root/src/parsers.cc
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2011-05-22 16:25:34 (GMT)
committerEvan Martin <martine@danga.com>2011-05-22 16:26:06 (GMT)
commite69d8bfda4b369717e67ff1d9bfa458b402c0e73 (patch)
tree8ee484567fc00f889fb82d7104b6a360d70daa4b /src/parsers.cc
parentc1b5ace19665ee154add5fbe47faf45f16ce619e (diff)
downloadNinja-e69d8bfda4b369717e67ff1d9bfa458b402c0e73.zip
Ninja-e69d8bfda4b369717e67ff1d9bfa458b402c0e73.tar.gz
Ninja-e69d8bfda4b369717e67ff1d9bfa458b402c0e73.tar.bz2
include filename in subninja load err message
Diffstat (limited to 'src/parsers.cc')
-rw-r--r--src/parsers.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/parsers.cc b/src/parsers.cc
index d22dd97..e4402af 100644
--- a/src/parsers.cc
+++ b/src/parsers.cc
@@ -510,12 +510,11 @@ bool ManifestParser::ParseFileInclude(string* err) {
string path;
if (!tokenizer_.ReadIdent(&path))
return tokenizer_.ErrorExpected("path to ninja file", err);
- if (!tokenizer_.Newline(err))
- return false;
string contents;
- if (!file_reader_->ReadFile(path, &contents, err))
- return false;
+ string read_err;
+ if (!file_reader_->ReadFile(path, &contents, &read_err))
+ return tokenizer_.Error("loading " + path + ": " + read_err, err);
ManifestParser subparser(state_, file_reader_);
if (type == "subninja") {
@@ -531,5 +530,8 @@ bool ManifestParser::ParseFileInclude(string* err) {
if (!subparser.Parse(contents, &sub_err))
return tokenizer_.Error("in '" + path + "': " + sub_err, err);
+ if (!tokenizer_.Newline(err))
+ return false;
+
return true;
}