BUG: Fixed crash when optimized/debug argument is not followed by a value.

This commit is contained in:
Brad King 2004-07-29 11:45:14 -04:00
parent 8e13e2de90
commit e3edb83c51
2 changed files with 20 additions and 0 deletions

View File

@ -31,12 +31,22 @@ bool cmLinkLibrariesCommand::InitialPass(std::vector<std::string> const& args)
if (*i == "debug") if (*i == "debug")
{ {
++i; ++i;
if(i == args.end())
{
this->SetError("The \"debug\" argument must be followed by a library");
return false;
}
m_Makefile->AddLinkLibrary(i->c_str(), m_Makefile->AddLinkLibrary(i->c_str(),
cmTarget::DEBUG); cmTarget::DEBUG);
} }
else if (*i == "optimized") else if (*i == "optimized")
{ {
++i; ++i;
if(i == args.end())
{
this->SetError("The \"optimized\" argument must be followed by a library");
return false;
}
m_Makefile->AddLinkLibrary(i->c_str(), m_Makefile->AddLinkLibrary(i->c_str(),
cmTarget::OPTIMIZED); cmTarget::OPTIMIZED);
} }

View File

@ -42,12 +42,22 @@ bool cmTargetLinkLibrariesCommand::InitialPass(std::vector<std::string> const& a
if (*i == "debug") if (*i == "debug")
{ {
++i; ++i;
if(i == args.end())
{
this->SetError("The \"debug\" argument must be followed by a library");
return false;
}
m_Makefile->AddLinkLibraryForTarget(args[0].c_str(),i->c_str(), m_Makefile->AddLinkLibraryForTarget(args[0].c_str(),i->c_str(),
cmTarget::DEBUG); cmTarget::DEBUG);
} }
else if (*i == "optimized") else if (*i == "optimized")
{ {
++i; ++i;
if(i == args.end())
{
this->SetError("The \"optimized\" argument must be followed by a library");
return false;
}
m_Makefile->AddLinkLibraryForTarget(args[0].c_str(),i->c_str(), m_Makefile->AddLinkLibraryForTarget(args[0].c_str(),i->c_str(),
cmTarget::OPTIMIZED); cmTarget::OPTIMIZED);
} }