Fix memory leaks, patch by Samuel Serapión

svn path=/trunk/; revision=33082
This commit is contained in:
Ziliang Guo 2008-04-21 02:15:19 +00:00
parent 24328c0181
commit 390cff7a1a
5 changed files with 26 additions and 8 deletions

View file

@ -57,6 +57,10 @@ Define::Define ( const Project& project,
Define::~Define ()
{
// if ( node )
// delete node;
// if ( module )
// delete module;
}
void

View file

@ -240,3 +240,10 @@ Directory::CreateRule ( FILE* f,
i->second->CreateRule ( f, path );
}
}
Directory::~Directory()
{
std::map<std::string, Directory*>::iterator theIterator;
for ( theIterator = subdirs.begin (); theIterator != subdirs.end (); theIterator++ )
delete theIterator->second;
}

View file

@ -494,7 +494,12 @@ Module::~Module ()
delete bootstrap;
if ( importLibrary )
delete importLibrary;
delete output;
if ( dependency )
delete dependency;
if ( autoRegister )
delete autoRegister;
if ( output )
delete output;
}
void

View file

@ -195,7 +195,8 @@ Project::~Project ()
delete cdfiles[i];
for ( i = 0; i < installfiles.size (); i++ )
delete installfiles[i];
delete head;
if ( head )
delete head;
}
const Property*
@ -252,7 +253,7 @@ Project::ResolveProperties ( const string& s ) const
void
Project::SetConfigurationOption ( char* s,
string name,
string* alternativeName )
string alternativeName )
{
const Property* property = LookupProperty ( name );
if ( property != NULL && property->value.length () > 0 )
@ -268,11 +269,11 @@ Project::SetConfigurationOption ( char* s,
"#define %s\n",
property->name.c_str () );
}
else if ( alternativeName != NULL )
else if ( !alternativeName.empty() )
{
s = s + sprintf ( s,
"#define %s\n",
alternativeName->c_str () );
alternativeName.c_str () );
}
}
@ -280,7 +281,7 @@ void
Project::SetConfigurationOption ( char* s,
string name )
{
SetConfigurationOption ( s, name, NULL );
SetConfigurationOption ( s, name, "" );
}
void
@ -301,7 +302,7 @@ Project::WriteConfigurationFile ()
SetConfigurationOption ( s, "ARCH" );
SetConfigurationOption ( s, "OPTIMIZED" );
SetConfigurationOption ( s, "MP", new string ( "UP" ) );
SetConfigurationOption ( s, "MP", "UP");
SetConfigurationOption ( s, "ACPI" );
SetConfigurationOption ( s, "_3GB" );

View file

@ -134,6 +134,7 @@ public:
std::string name;
directory_map subdirs;
Directory ( const std::string& name );
~Directory();
void Add ( const char* subdir );
void GenerateTree ( DirectoryLocation root,
bool verbose );
@ -256,7 +257,7 @@ private:
const Property* LookupProperty ( const std::string& name ) const;
void SetConfigurationOption ( char* s,
std::string name,
std::string* alternativeName );
std::string alternativeName );
void SetConfigurationOption ( char* s,
std::string name );
void ReadXml ();