summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmSystemTools.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index d211454..f18685f 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1800,8 +1800,10 @@ bool cmSystemTools::CreateTar(const char* outFileName,
std::cout << rp << "\n";
}
// Set the name of the entry to the file name
- archive_entry_set_pathname(entry, rp.c_str());
- res = archive_read_disk_entry_from_file(disk, entry, -1, 0);
+ archive_entry_set_pathname(entry, rp.c_str());
+ struct stat s;
+ stat(fileIt->c_str(), &s);
+ archive_read_disk_entry_from_file(disk, entry, -1, &s);
CHECK_ARCHIVE_ERROR(res, "read disk entry:");
// write entry header
@@ -1821,7 +1823,6 @@ bool cmSystemTools::CreateTar(const char* outFileName,
while (len > 0)
{
int wlen = archive_write_data(a, buff, len);
-#if 0
if(wlen != len)
{
cmOStringStream error;
@@ -1833,7 +1834,6 @@ bool cmSystemTools::CreateTar(const char* outFileName,
);
return false;
}
-#endif
len = fread(buff, 1, sizeof(buff), file);
}
// close the file and free the entry