diff options
author | Qingning Huo <qingninghuo@gmail.com> | 2011-06-10 23:13:33 (GMT) |
---|---|---|
committer | Qingning Huo <qingninghuo@gmail.com> | 2011-06-10 23:13:33 (GMT) |
commit | edc4062f6b6f3984b737a5e2ae1ed6b9d50b4905 (patch) | |
tree | 127e467927051eac3b1c6b1615f01344e77010b5 /src/graph.cc | |
parent | 7682a3123f71fe086ecd00bd7f66a20ec0c0026d (diff) | |
download | Ninja-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.cc | 7 |
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); } |