fix disappearing bash arguments

This commit is contained in:
Joel Taylor 2014-08-21 14:06:49 -07:00 committed by Eelco Dolstra
parent 3f80060500
commit b224ac1520

View file

@ -2133,8 +2133,13 @@ void DerivationGoal::initChild()
/* Fill in the arguments. */ /* Fill in the arguments. */
string builderBasename = baseNameOf(drv.builder); string builderBasename = baseNameOf(drv.builder);
args.push_back(builderBasename.c_str()); args.push_back(builderBasename.c_str());
foreach (Strings::iterator, i, drv.args) foreach (Strings::iterator, i, drv.args) {
args.push_back(rewriteHashes(*i, rewritesToTmp).c_str()); auto re = rewriteHashes(*i, rewritesToTmp);
auto cstr = new char[re.length()+1];
std::strcpy(cstr, re.c_str());
args.push_back(cstr);
}
args.push_back(0); args.push_back(0);
restoreSIGPIPE(); restoreSIGPIPE();