summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/parsers.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/parsers.cc b/src/parsers.cc
index af5446e..8408195 100644
--- a/src/parsers.cc
+++ b/src/parsers.cc
@@ -256,6 +256,15 @@ bool ManifestParser::Parse(const string& input, string* err) {
string name, value;
if (!ParseLet(&name, &value, err))
return false;
+ if (value.substr(0, 9) == "ROOT_HACK") {
+ // XXX remove this hack, or make it more principled.
+ char cwd[1024];
+ if (!getcwd(cwd, sizeof(cwd))) {
+ perror("getcwd");
+ return 1;
+ }
+ value = cwd + value.substr(9);
+ }
env_->AddBinding(name, value);
break;
}