Преглед на файлове

cmake: Simplify command clean up loop.

Stephen Kelly преди 10 години
родител
ревизия
97e53ebb3c
променени са 1 файла, в които са добавени 6 реда и са изтрити 13 реда
  1. 6 13
      Source/cmake.cxx

+ 6 - 13
Source/cmake.cxx

@@ -197,27 +197,20 @@ void cmake::InitializeProperties()
 void cmake::CleanupCommandsAndMacros()
 void cmake::CleanupCommandsAndMacros()
 {
 {
   this->InitializeProperties();
   this->InitializeProperties();
-  std::vector<cmCommand*> commands;
   for(RegisteredCommandsMap::iterator j = this->Commands.begin();
   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
     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
 bool cmake::CommandExists(const std::string& name) const