summaryrefslogtreecommitdiffstats
path: root/src/graph.cc
diff options
context:
space:
mode:
authorQingning Huo <qingninghuo@gmail.com>2011-06-10 23:13:33 (GMT)
committerQingning Huo <qingninghuo@gmail.com>2011-06-10 23:13:33 (GMT)
commitedc4062f6b6f3984b737a5e2ae1ed6b9d50b4905 (patch)
tree127e467927051eac3b1c6b1615f01344e77010b5 /src/graph.cc
parent7682a3123f71fe086ecd00bd7f66a20ec0c0026d (diff)
downloadNinja-edc4062f6b6f3984b737a5e2ae1ed6b9d50b4905.zip
Ninja-edc4062f6b6f3984b737a5e2ae1ed6b9d50b4905.tar.gz
Ninja-edc4062f6b6f3984b737a5e2ae1ed6b9d50b4905.tar.bz2
src/graph.cc: fix EdgeEnv::LookupVariable
Make it return the correct value for "out" when there are multiple outputs. It used to return only the first target file.
Diffstat (limited to 'src/graph.cc')
-rw-r--r--src/graph.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/graph.cc b/src/graph.cc
index 8abaa2a..13927fe 100644
--- a/src/graph.cc
+++ b/src/graph.cc
@@ -105,7 +105,12 @@ struct EdgeEnv : public Env {
result.append((*i)->file_->path_);
}
} else if (var == "out") {
- result = edge_->outputs_[0]->file_->path_;
+ for (vector<Node*>::iterator i = edge_->outputs_.begin();
+ i != edge_->outputs_.end(); ++i) {
+ if (!result.empty())
+ result.push_back(' ');
+ result.append((*i)->file_->path_);
+ }
} else if (edge_->env_) {
return edge_->env_->LookupVariable(var);
}