Преглед изворни кода

execute_process: Manage KWSys Process lifetime with unique_ptr

Brad King пре 6 година
родитељ
комит
d350fb6889
1 измењених фајлова са 3 додато и 4 уклоњено
  1. 3 4
      Source/cmExecuteProcessCommand.cxx

+ 3 - 4
Source/cmExecuteProcessCommand.cxx

@@ -119,7 +119,9 @@ bool cmExecuteProcessCommand::InitialPass(std::vector<std::string> const& args,
   }
 
   // Create a process instance.
-  cmsysProcess* cp = cmsysProcess_New();
+  std::unique_ptr<cmsysProcess, void (*)(cmsysProcess*)> cp_ptr(
+    cmsysProcess_New(), cmsysProcess_Delete);
+  cmsysProcess* cp = cp_ptr.get();
 
   // Set the command sequence.
   for (std::vector<std::string> const& cmd : arguments.Commands) {
@@ -297,9 +299,6 @@ bool cmExecuteProcessCommand::InitialPass(std::vector<std::string> const& args,
     }
   }
 
-  // Delete the process instance.
-  cmsysProcess_Delete(cp);
-
   return true;
 }