BUG: Remove some old legacy code and remove memory leak

This commit is contained in:
Andy Cedilnik 2006-03-08 10:52:29 -05:00
parent d91bd3dbd3
commit 892a439fad
2 changed files with 2 additions and 21 deletions

View File

@ -25,14 +25,12 @@ bool cmListFileCacheParseFunction(cmListFileLexer* lexer,
cmListFileFunction& function, cmListFileFunction& function,
const char* filename); const char* filename);
bool cmListFile::ParseFile(const char* path, bool requireProjectCommand) bool cmListFile::ParseFile(const char* filename, bool requireProjectCommand)
{ {
if(!cmSystemTools::FileExists(path)) if(!cmSystemTools::FileExists(filename))
{ {
return false; return false;
} }
// Get a pointer to a persistent copy of the name.
const char* filename = this->GetUniqueStringPointer(path);
// Create the scanner. // Create the scanner.
cmListFileLexer* lexer = cmListFileLexer_New(); cmListFileLexer* lexer = cmListFileLexer_New();
@ -212,17 +210,3 @@ bool cmListFileCacheParseFunction(cmListFileLexer* lexer,
return false; return false;
} }
//----------------------------------------------------------------------------
const char* cmListFile::GetUniqueStringPointer(const char* name)
{
UniqueStrings::iterator i = m_UniqueStrings.find(name);
if(i == m_UniqueStrings.end())
{
char* str = new char[strlen(name)+1];
strcpy(str, name);
i = m_UniqueStrings.insert(UniqueStrings::value_type(name, str)).first;
}
return i->second;
}

View File

@ -65,9 +65,6 @@ struct cmListFile
bool ParseFile(const char* path, bool requireProjectCommand); bool ParseFile(const char* path, bool requireProjectCommand);
long int m_ModifiedTime; long int m_ModifiedTime;
std::vector<cmListFileFunction> m_Functions; std::vector<cmListFileFunction> m_Functions;
typedef std::map<cmStdString, char*> UniqueStrings;
UniqueStrings m_UniqueStrings;
const char* GetUniqueStringPointer(const char* name);
}; };
#endif #endif