diff options
-rw-r--r-- | Source/cmSourceFile.cxx | 7 | ||||
-rw-r--r-- | Source/cmSourceFilesCommand.cxx | 2 | ||||
-rw-r--r-- | Source/cmSourceFilesRemoveCommand.cxx | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx index 0fa21b8..965286d 100644 --- a/Source/cmSourceFile.cxx +++ b/Source/cmSourceFile.cxx @@ -160,7 +160,12 @@ void cmSourceFile::SetName(const char* name, const char* dir, const char *ext, pathname += "/"; } - pathname += m_SourceName + "." + ext; + pathname += m_SourceName; + if(ext && strlen(ext)) + { + pathname += "."; + pathname += ext; + } m_FullPath = pathname; m_SourceExtension = ext; return; diff --git a/Source/cmSourceFilesCommand.cxx b/Source/cmSourceFilesCommand.cxx index e6d7176..4b93f4c 100644 --- a/Source/cmSourceFilesCommand.cxx +++ b/Source/cmSourceFilesCommand.cxx @@ -76,7 +76,7 @@ bool cmSourceFilesCommand::InitialPass(std::vector<std::string> const& args) std::string ext = cmSystemTools::GetFilenameExtension(copy); std::string name_no_ext = cmSystemTools::GetFilenameName(copy.c_str()); name_no_ext = name_no_ext.substr(0, name_no_ext.length()-ext.length()); - if ( ext[0] == '.' ) + if ( ext.length() && ext[0] == '.' ) { ext = ext.substr(1); } diff --git a/Source/cmSourceFilesRemoveCommand.cxx b/Source/cmSourceFilesRemoveCommand.cxx index 0d1d4de..e2cc875 100644 --- a/Source/cmSourceFilesRemoveCommand.cxx +++ b/Source/cmSourceFilesRemoveCommand.cxx @@ -67,7 +67,7 @@ bool cmSourceFilesRemoveCommand::InitialPass(std::vector<std::string> const& arg std::string path = cmSystemTools::GetFilenamePath(copy); std::string name_no_ext = cmSystemTools::GetFilenameName(copy.c_str()); name_no_ext = name_no_ext.substr(0, name_no_ext.length()-ext.length()); - if ( ext[0] == '.' ) + if ( ext.length() && ext[0] == '.' ) { ext = ext.substr(1); } |