summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackGenericGenerator.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-10-30 16:22:48 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-10-30 16:22:48 (GMT)
commit7aef92391b4ec5a23efbe03723a19dbeba8f71db (patch)
treed358ff55c2dcbf97986818fbf9d9ea4b302c13cc /Source/CPack/cmCPackGenericGenerator.cxx
parent4400842135799bee8bff35ce455ef3d88680d640 (diff)
downloadCMake-7aef92391b4ec5a23efbe03723a19dbeba8f71db.zip
CMake-7aef92391b4ec5a23efbe03723a19dbeba8f71db.tar.gz
CMake-7aef92391b4ec5a23efbe03723a19dbeba8f71db.tar.bz2
ENH: make sure null const char* is not put into ossttringstream to avoid seg faults
Diffstat (limited to 'Source/CPack/cmCPackGenericGenerator.cxx')
-rw-r--r--Source/CPack/cmCPackGenericGenerator.cxx32
1 files changed, 20 insertions, 12 deletions
diff --git a/Source/CPack/cmCPackGenericGenerator.cxx b/Source/CPack/cmCPackGenericGenerator.cxx
index 062c700..52b2e14 100644
--- a/Source/CPack/cmCPackGenericGenerator.cxx
+++ b/Source/CPack/cmCPackGenericGenerator.cxx
@@ -99,10 +99,10 @@ int cmCPackGenericGenerator::PrepareNames()
"Look for: CPACK_PACKAGE_DESCRIPTION_FILE" << std::endl);
const char* descFileName
= this->GetOption("CPACK_PACKAGE_DESCRIPTION_FILE");
- cmCPackLogger(cmCPackLog::LOG_DEBUG,
- "Look for: " << descFileName << std::endl);
if ( descFileName )
{
+ cmCPackLogger(cmCPackLog::LOG_DEBUG,
+ "Look for: " << descFileName << std::endl);
if ( !cmSystemTools::FileExists(descFileName) )
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
@@ -158,8 +158,9 @@ int cmCPackGenericGenerator::InstallProject()
if ( !cmsys::SystemTools::MakeDirectory(tempInstallDirectory))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Problem creating temporary directory: " << tempInstallDirectory
- << std::endl);
+ "Problem creating temporary directory: "
+ << (tempInstallDirectory ? tempInstallDirectory : "(NULL}")
+ << std::endl);
return 0;
}
@@ -409,10 +410,10 @@ int cmCPackGenericGenerator::InstallProjectViaInstallScript(
= this->GetOption("CPACK_INSTALL_SCRIPT");
std::string currentWorkingDirectory =
cmSystemTools::GetCurrentWorkingDirectory();
- cmCPackLogger(cmCPackLog::LOG_OUTPUT,
- "- Install scripts: " << cmakeScripts << std::endl);
if ( cmakeScripts && *cmakeScripts )
{
+ cmCPackLogger(cmCPackLog::LOG_OUTPUT,
+ "- Install scripts: " << cmakeScripts << std::endl);
std::vector<std::string> cmakeScriptsVector;
cmSystemTools::ExpandListArgument(cmakeScripts,
cmakeScriptsVector);
@@ -667,7 +668,7 @@ int cmCPackGenericGenerator::ProcessGenerator()
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Compress package" << std::endl);
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Compress files to: "
- << tempPackageFileName << std::endl);
+ << (tempPackageFileName ? tempPackageFileName : "(NULL)") << std::endl);
if ( cmSystemTools::FileExists(tempPackageFileName) )
{
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Remove old package file"
@@ -689,17 +690,24 @@ int cmCPackGenericGenerator::ProcessGenerator()
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Finalize package" << std::endl);
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Copy final package: "
- << tempPackageFileName << " to " << packageFileName << std::endl);
+ << (tempPackageFileName ? tempPackageFileName : "(NULL)" )
+ << " to "
+ << (packageFileName ? packageFileName : "(NULL)")
+ << std::endl);
if ( !cmSystemTools::CopyFileIfDifferent(tempPackageFileName,
packageFileName) )
{
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem copying the package: "
- << tempPackageFileName << " to " << packageFileName << std::endl);
+ << (tempPackageFileName ? tempPackageFileName : "(NULL)" )
+ << " to "
+ << (packageFileName ? packageFileName : "(NULL)")
+ << std::endl);
return 0;
}
- cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Package " << packageFileName
- << " generated." << std::endl);
+ cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Package "
+ << (packageFileName ? packageFileName : "(NULL)")
+ << " generated." << std::endl);
return 1;
}
@@ -939,7 +947,7 @@ const char* cmCPackGenericGenerator::GetInstallPath()
std::string cmCPackGenericGenerator::FindTemplate(const char* name)
{
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Look for template: "
- << name << std::endl);
+ << (name ? name : "(NULL)") << std::endl);
std::string ffile = this->MakefileMap->GetModulesFile(name);
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Found template: "
<< ffile.c_str() << std::endl);