소스 검색

Merge topic 'string-tar'

57cedb18c0 cmSystemTools: std::string parameters for tar functions

Acked-by: Kitware Robot <[email protected]>
Merge-request: !3392
Brad King 6 년 전
부모
커밋
6e8acc51a5
4개의 변경된 파일15개의 추가작업 그리고 15개의 파일을 삭제
  1. 2 2
      Source/cmCTest.cxx
  2. 6 6
      Source/cmSystemTools.cxx
  3. 3 3
      Source/cmSystemTools.h
  4. 4 4
      Source/cmcmd.cxx

+ 2 - 2
Source/cmCTest.cxx

@@ -1611,8 +1611,8 @@ std::string cmCTest::Base64GzipEncodeFile(std::string const& file)
   std::vector<std::string> files;
   files.push_back(file);
 
-  if (!cmSystemTools::CreateTar(tarFile.c_str(), files,
-                                cmSystemTools::TarCompressGZip, false)) {
+  if (!cmSystemTools::CreateTar(tarFile, files, cmSystemTools::TarCompressGZip,
+                                false)) {
     cmCTestLog(this, ERROR_MESSAGE,
                "Error creating tar while "
                "encoding file: "

+ 6 - 6
Source/cmSystemTools.cxx

@@ -1529,7 +1529,7 @@ bool cmSystemTools::IsPathToFramework(const std::string& path)
           cmHasLiteralSuffix(path, ".framework"));
 }
 
-bool cmSystemTools::CreateTar(const char* outFileName,
+bool cmSystemTools::CreateTar(const std::string& outFileName,
                               const std::vector<std::string>& files,
                               cmTarCompression compressType, bool verbose,
                               std::string const& mtime,
@@ -1537,7 +1537,7 @@ bool cmSystemTools::CreateTar(const char* outFileName,
 {
 #if defined(CMAKE_BUILD_WITH_CMAKE)
   std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
-  cmsys::ofstream fout(outFileName, std::ios::out | std::ios::binary);
+  cmsys::ofstream fout(outFileName.c_str(), std::ios::out | std::ios::binary);
   if (!fout) {
     std::string e = "Cannot open output file \"";
     e += outFileName;
@@ -1760,7 +1760,7 @@ bool copy_data(struct archive* ar, struct archive* aw)
 #  endif
 }
 
-bool extract_tar(const char* outFileName,
+bool extract_tar(const std::string& outFileName,
                  const std::vector<std::string>& files, bool verbose,
                  bool extract)
 {
@@ -1786,7 +1786,7 @@ bool extract_tar(const char* outFileName,
     }
   }
 
-  int r = cm_archive_read_open_file(a, outFileName, 10240);
+  int r = cm_archive_read_open_file(a, outFileName.c_str(), 10240);
   if (r) {
     ArchiveError("Problem with archive_read_open_file(): ", a);
     archive_write_free(ext);
@@ -1881,7 +1881,7 @@ bool extract_tar(const char* outFileName,
 }
 #endif
 
-bool cmSystemTools::ExtractTar(const char* outFileName,
+bool cmSystemTools::ExtractTar(const std::string& outFileName,
                                const std::vector<std::string>& files,
                                bool verbose)
 {
@@ -1895,7 +1895,7 @@ bool cmSystemTools::ExtractTar(const char* outFileName,
 #endif
 }
 
-bool cmSystemTools::ListTar(const char* outFileName,
+bool cmSystemTools::ListTar(const std::string& outFileName,
                             const std::vector<std::string>& files,
                             bool verbose)
 {

+ 3 - 3
Source/cmSystemTools.h

@@ -451,14 +451,14 @@ public:
     TarCompressNone
   };
 
-  static bool ListTar(const char* outFileName,
+  static bool ListTar(const std::string& outFileName,
                       const std::vector<std::string>& files, bool verbose);
-  static bool CreateTar(const char* outFileName,
+  static bool CreateTar(const std::string& outFileName,
                         const std::vector<std::string>& files,
                         cmTarCompression compressType, bool verbose,
                         std::string const& mtime = std::string(),
                         std::string const& format = std::string());
-  static bool ExtractTar(const char* inFileName,
+  static bool ExtractTar(const std::string& inFileName,
                          const std::vector<std::string>& files, bool verbose);
   // This should be called first thing in main
   // it will keep child processes from inheriting the

+ 4 - 4
Source/cmcmd.cxx

@@ -1130,7 +1130,7 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string> const& args)
         return 1;
       }
       if (action == cmSystemTools::TarActionList) {
-        if (!cmSystemTools::ListTar(outFile.c_str(), files, verbose)) {
+        if (!cmSystemTools::ListTar(outFile, files, verbose)) {
           cmSystemTools::Error("Problem listing tar: " + outFile);
           return 1;
         }
@@ -1139,13 +1139,13 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string> const& args)
           cmSystemTools::Message("tar: No files or directories specified",
                                  "Warning");
         }
-        if (!cmSystemTools::CreateTar(outFile.c_str(), files, compress,
-                                      verbose, mtime, format)) {
+        if (!cmSystemTools::CreateTar(outFile, files, compress, verbose, mtime,
+                                      format)) {
           cmSystemTools::Error("Problem creating tar: " + outFile);
           return 1;
         }
       } else if (action == cmSystemTools::TarActionExtract) {
-        if (!cmSystemTools::ExtractTar(outFile.c_str(), files, verbose)) {
+        if (!cmSystemTools::ExtractTar(outFile, files, verbose)) {
           cmSystemTools::Error("Problem extracting tar: " + outFile);
           return 1;
         }