BUG: make a copy of the arguments before passing them to Execute

This commit is contained in:
Ken Martin 2001-09-20 13:44:27 -04:00
parent 92fd242789
commit b9d56e8497

View File

@ -336,14 +336,16 @@ bool cmMakefile::ReadListFile(const char* filename, const char* external)
// add this list file to the list of dependencies // add this list file to the list of dependencies
m_ListFiles.push_back( filenametoread); m_ListFiles.push_back( filenametoread);
const int numberFunctions = lf->m_Functions.size(); const int numberFunctions = lf->m_Functions.size();
std::vector<std::string> argumentsCopy;
for(int i =0; i < numberFunctions; ++i) for(int i =0; i < numberFunctions; ++i)
{ {
cmListFileFunction& curFunction = lf->m_Functions[i]; cmListFileFunction& curFunction = lf->m_Functions[i];
if(!this->IsFunctionBlocked(curFunction.m_Name.c_str(), if(!this->IsFunctionBlocked(curFunction.m_Name.c_str(),
curFunction.m_Arguments)) curFunction.m_Arguments))
{ {
argumentsCopy = curFunction.m_Arguments;
this->ExecuteCommand(curFunction.m_Name, this->ExecuteCommand(curFunction.m_Name,
curFunction.m_Arguments); argumentsCopy);
} }
} }