Browse Source

cmake: Simplify command clean up loop.

Stephen Kelly 10 years ago
parent
commit
97e53ebb3c
1 changed files with 6 additions and 13 deletions
  1. 6 13
      Source/cmake.cxx

+ 6 - 13
Source/cmake.cxx

@@ -197,27 +197,20 @@ void cmake::InitializeProperties()
 void cmake::CleanupCommandsAndMacros()
 {
   this->InitializeProperties();
-  std::vector<cmCommand*> commands;
   for(RegisteredCommandsMap::iterator j = this->Commands.begin();
-      j != this->Commands.end(); ++j)
+      j != this->Commands.end(); )
     {
-    if ( !j->second->IsA("cmMacroHelperCommand") &&
-         !j->second->IsA("cmFunctionHelperCommand"))
+    if (j->second->IsA("cmMacroHelperCommand") ||
+        j->second->IsA("cmFunctionHelperCommand"))
       {
-      commands.push_back(j->second);
+      delete j->second;
+      this->Commands.erase(j++);
       }
     else
       {
-      delete j->second;
+      ++j;
       }
     }
-  this->Commands.clear();
-  std::vector<cmCommand*>::iterator it;
-  for ( it = commands.begin(); it != commands.end();
-    ++ it )
-    {
-    this->Commands[cmSystemTools::LowerCase((*it)->GetName())] = *it;
-    }
 }
 
 bool cmake::CommandExists(const std::string& name) const