Browse Source

cmake: Simplify RemoveUnscriptableCommands algorithm.

Remove obsolete RemoveCommand method.
Stephen Kelly 10 years ago
parent
commit
1e738bcf9c
2 changed files with 8 additions and 23 deletions
  1. 8 22
      Source/cmake.cxx
  2. 0 1
      Source/cmake.h

+ 8 - 22
Source/cmake.cxx

@@ -261,17 +261,6 @@ void cmake::RenameCommand(const std::string& oldName,
   this->Commands.erase(pos);
 }
 
-void cmake::RemoveCommand(const std::string& name)
-{
-  std::string sName = cmSystemTools::LowerCase(name);
-  RegisteredCommandsMap::iterator pos = this->Commands.find(sName);
-  if ( pos != this->Commands.end() )
-    {
-    delete pos->second;
-    this->Commands.erase(pos);
-    }
-}
-
 void cmake::AddCommand(cmCommand* command)
 {
   std::string name = cmSystemTools::LowerCase(command->GetName());
@@ -289,22 +278,19 @@ void cmake::AddCommand(cmCommand* command)
 void cmake::RemoveUnscriptableCommands()
 {
   std::vector<std::string> unscriptableCommands;
-  for (cmake::RegisteredCommandsMap::const_iterator
+  for (cmake::RegisteredCommandsMap::iterator
        pos = this->Commands.begin();
-       pos != this->Commands.end();
-       ++pos)
+       pos != this->Commands.end(); )
     {
     if (!pos->second->IsScriptable())
       {
-      unscriptableCommands.push_back(pos->first);
+      delete pos->second;
+      this->Commands.erase(pos++);
+      }
+    else
+      {
+      ++pos;
       }
-    }
-
-  for(std::vector<std::string>::const_iterator it=unscriptableCommands.begin();
-      it != unscriptableCommands.end();
-      ++it)
-    {
-    this->RemoveCommand(*it);
     }
 }
 

+ 0 - 1
Source/cmake.h

@@ -222,7 +222,6 @@ class cmake
    */
   void AddCommand(cmCommand* );
   void RenameCommand(const std::string& oldName, const std::string& newName);
-  void RemoveCommand(const std::string& name);
   void RemoveUnscriptableCommands();
 
   /**