summaryrefslogtreecommitdiffstats
path: root/Source/cmSystemTools.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-06-01 17:26:34 (GMT)
committerBrad King <brad.king@kitware.com>2018-06-01 17:27:08 (GMT)
commit6d8ae1e6e4b597e171b14e46ed67c103b5f3135e (patch)
tree3b4077184227514bed2c35232f19062435687728 /Source/cmSystemTools.cxx
parenteed0df951d95d48e7856107175a2baba212c3206 (diff)
downloadCMake-6d8ae1e6e4b597e171b14e46ed67c103b5f3135e.zip
CMake-6d8ae1e6e4b597e171b14e46ed67c103b5f3135e.tar.gz
CMake-6d8ae1e6e4b597e171b14e46ed67c103b5f3135e.tar.bz2
cmSystemTools: Restore compilation with libarchive versions below 3.3.1
In commit a203fcc63d (cmake: Teach '-E tar' to report errors copying data, 2018-05-16) we introduced use of `la_ssize_t` but that was not available until libarchive 3.3.1. Switch to the `__LA_SSIZE_T` macro we use elsewhere.
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r--Source/cmSystemTools.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index d641a4e..14f0580 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -14,6 +14,9 @@
# ifndef __LA_INT64_T
# define __LA_INT64_T la_int64_t
# endif
+# ifndef __LA_SSIZE_T
+# define __LA_SSIZE_T la_ssize_t
+# endif
#endif
#if defined(CMAKE_BUILD_WITH_CMAKE)
@@ -1726,7 +1729,8 @@ bool copy_data(struct archive* ar, struct archive* aw)
// Return value:
// * >= ARCHIVE_OK - write succeed
// * < ARCHIVE_OK - write failed
- const la_ssize_t w_size = archive_write_data_block(aw, buff, size, offset);
+ const __LA_SSIZE_T w_size =
+ archive_write_data_block(aw, buff, size, offset);
if (w_size < ARCHIVE_OK) {
cmSystemTools::Message("archive_write_data_block()",
archive_error_string(aw));