Browse Source

CPack/FreeBSD: Use RAII to save/restore working directory

Brad King 5 years ago
parent
commit
753817e71d
1 changed files with 2 additions and 3 deletions
  1. 2 3
      Source/CPack/cmCPackFreeBSDGenerator.cxx

+ 2 - 3
Source/CPack/cmCPackFreeBSDGenerator.cxx

@@ -8,6 +8,7 @@
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratedFileStream.h"
 #include "cmStringAlgorithms.h"
 #include "cmStringAlgorithms.h"
 #include "cmSystemTools.h"
 #include "cmSystemTools.h"
+#include "cmWorkingDirectory.h"
 
 
 // Needed for ::open() and ::stat()
 // Needed for ::open() and ::stat()
 #include <algorithm>
 #include <algorithm>
@@ -285,8 +286,7 @@ int cmCPackFreeBSDGenerator::PackageFiles()
   }
   }
 
 
   std::vector<std::string>::const_iterator fileIt;
   std::vector<std::string>::const_iterator fileIt;
-  std::string dir = cmSystemTools::GetCurrentWorkingDirectory();
-  cmSystemTools::ChangeDirectory(toplevel);
+  cmWorkingDirectory wd(toplevel);
 
 
   files.erase(std::remove_if(files.begin(), files.end(), ignore_file),
   files.erase(std::remove_if(files.begin(), files.end(), ignore_file),
               files.end());
               files.end());
@@ -332,6 +332,5 @@ int cmCPackFreeBSDGenerator::PackageFiles()
     }
     }
   }
   }
 
 
-  cmSystemTools::ChangeDirectory(dir);
   return 1;
   return 1;
 }
 }