summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibarchive/libarchive
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-libarchive-mktemp'Brad King2015-04-101-3/+5
|\ | | | | | | | | 1f33b45d libarchive: Fix string concatentation in Windows mktemp implementation
| * libarchive: Fix string concatentation in Windows mktemp implementationTim Kientzle2015-04-091-3/+5
| | | | | | | | | | | | | | | | | | | | Port upstream LibArchive commit "compute string pointers after concatenation" (2014-09-25) and commit "Move variables to top of function for non-C99 compilers" (2014-11-15) to our CMake copy. Otherwise we may compute a pointer to memory that is about to be freed and then compute a bad size to give to CryptGenRandom. Inspired-by: Tim Kientzle <kientzle@gmail.com>
* | libarchive: Use base-256 encoding for UID/GID like GNU tar doesNils Gladitz2015-04-091-6/+6
|/
* libarchive: Constify internal __archive_get_date implementationBrad King2015-01-151-4/+4
| | | | | The caller of this API already re-declares it as const, so update the implementation accordingly.
* Fix some spelling errors in commentsGeoff Viola2014-10-132-2/+2
|
* CMake: Enable use of liblzma in libarchive (#14504)Daniel Pfeifer2014-07-298-7/+8
| | | | | Build liblzma as part of CMake or find one on the system. Modify our port of libarchive to use the liblzma configured for use with CMake.
* Merge topic 'hpux-libarchive-compile'Brad King2014-06-091-1/+1
|\ | | | | | | | | c1ddd77d libarchive: Fix compilation on Tru64 with F_SETTIMES
| * libarchive: Fix compilation on Tru64 with F_SETTIMESBrad King2014-06-091-1/+1
| | | | | | | | | | The parent commit left a typo in the conditional code path for Tru64. Add the missing '.'.
* | Merge topic 'hpux-libarchive-compile'Brad King2014-06-091-12/+14
|\ \ | |/ | | | | | | 478b1c8b libarchive: fix compilation on newer HP-UX versions
| * libarchive: fix compilation on newer HP-UX versionsRolf Eike Beer2014-06-091-12/+14
| | | | | | | | | | | | | | Newer HP-UX versions (e.g. 11.31) also offers F_SETTIMES, but with a different struct for the timing information. Suggested-by: Eric Berge <ericmberge@gmail.com>
* | libarchive: Use _snprintf on Windows, not snprintfBrad King2014-04-151-0/+4
| |
* | Merge branch 'libarchive-upstream' into update-libarchiveBrad King2014-04-157-139/+182
| | | | | | | | | | Resolve conflicts in Utilities/cmlibarchive/CMakeLists.txt as appropriate.
* | libarchive: Avoid left-shift overflow of signed integerBrad King2014-04-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | In libarchive/archive_write_set_format_zip.c there are two calls to archive_le32enc whose second argument is of the form archive_entry_mode(zip->entry) << 16 However, the return type from archive_entry_mode may be a signed integer so the shift may overflow. Since the second argument of archive_le32enc expects uint32_t anyway, simply cast to that prior to shifting.
* | libarchive: Avoid using name 'u_long'Brad King2014-04-112-29/+28
| | | | | | | | | | The system headers on some platforms define a 'u_long' type so we cannot use the name. Spell out 'unsigned long' instead.
* | libarchive: Do not require includers to have windows.hBrad King2014-04-031-1/+1
| | | | | | | | | | | | In archive_entry.h refer to "BY_HANDLE_FILE_INFORMATION *" using "struct _BY_HANDLE_FILE_INFORMATION *" to avoid requiring the includer to already have <windows.h>.
* | libarchive: Convert literal LL suffix to ARCHIVE_LITERAL_LLBrad King2014-04-031-16/+16
| |
* | libarchive: Update archive_util.c to use CMake zlib and bzip2 headersBrad King2014-04-031-2/+2
| |
* | Merge branch 'libarchive-upstream' into update-libarchiveBrad King2014-04-0350-1923/+3859
| | | | | | | | | | | | Resolve conflicts in favor of the upstream side where possible. Resolve a logical conflict in archive_windows.h where the upstream port to Watcom was done slightly differently from ours.
* | libarchive: Fix compliation with Open WatcomJiri Malak2014-03-093-3/+8
|/
* Fix wording of "the the" typos throughout textRuslan Baratov2014-01-031-1/+1
|
* libarchive: Use ARCHIVE_LITERAL_ULL to add ULL integer suffixBrad King2013-12-091-1/+1
| | | | | The macro maps to an implementation that works on older compilers when necessary.
* libarchive: Port upstream issue 320 second fixBrad King2013-12-091-20/+48
| | | | | | | Port upstream commit 6cf33c93 (Issue 320: Rewrite (again) to avoid the left shift that CLang dislikes so much, 2013-12-07) into CMake. Inspired-by: Tim Kientzle <kientzle@freebsd.org>
* libarchive: Port upstream issue 320 fixBrad King2013-11-251-11/+7
| | | | | | | Port upstream commit 533e8fda (Rework the sign-extension to avoid left-shift of an explicit negative number, 2013-06-29) into CMake. Inspired-by: Tim Kientzle <kientzle@freebsd.org>
* libarchive: Avoid struct init with variableBrad King2013-07-311-1/+3
| | | | | Compilers such as Borland and MIPSpro do not like struct initialization with variables. Initialize using assignment instead.
* libarchive: Silence API deprecation warningsBrad King2013-07-311-5/+2
| | | | CMake uses old libarchive APIs for now.
* libarchive: Include cm_zlib.h to get zlib used by CMakeBrad King2013-07-312-2/+2
| | | | | | Follow up change from commit ffa6faa4 (libarchive: Include cm_zlib.h to get zlib used by CMake, 2011-12-20) for new includes of zlib.h in updated libarchive.
* Merge branch 'libarchive-upstream' into update-libarchiveBrad King2013-07-31144-4053/+17773
| | | | | | | | | | | Conflicts: Utilities/cmlibarchive/CMakeLists.txt Utilities/cmlibarchive/libarchive/archive.h Utilities/cmlibarchive/libarchive/archive_entry.h Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c Utilities/cmlibarchive/libarchive/archive_windows.h Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c
* libarchive: Fix free() order to avoid accessing freed memoryÖmer Fadıl USTA2013-07-151-1/+1
| | | | | | | | | The archive_string_conv type sc variable already freed via free(sc) on the other hand in second line we are tyring to free its subset via free(sc->from_charset) this will cause a problem because we couldn't reach sc after first release. Reviewed-by: Igor Murzov <e-mail@date.by>
* Fix spelling and typos (non-binary)Andreas Mohr2013-05-071-1/+1
|
* Fix spelling and typos (affecting binary data / module messages)Andreas Mohr2013-05-072-4/+4
|
* libarchive: fixed undefined left shift with signed intsSean McBride2012-11-301-4/+32
| | | | | | | | caught by clang's -fsanitize=shift. A small unsigned int was promoted, according to C's regular promotion rules, to a signed int, it was then left shifted. This sometimes pushed a 1 into the sign bit, which is undefined behaviour. Fixed by using unsigned temporaries.
* Fix typo direcotry -> directory (and similar) [#13444]Rolf Eike Beer2012-07-302-2/+2
|
* libarchive: Avoid 'inline' on SunPro < 5.9 (#13277)Brad King2012-06-071-0/+3
| | | | Suggested-by: Daniel R. Gomez <gomez@teragram.com>
* libarchive: Avoid 'inline' keyword on XL C v6 (#13148)Brad King2012-04-191-0/+3
|
* libarchive: Avoid trailing , in enum for XL v6 (#13148)Jim Hague2012-04-191-5/+5
| | | | IBM xlc v6 cannot cope with a trailing ',' in enum definitions.
* libarchive: Workaround mbsnrtowcs assertion failure on old glibcBrad King2012-02-101-0/+5
| | | | | | | | | | | | The CMake TarTest fails with the error mbsnrtowcs.c:116: __mbsnrtowcs: Assertion `status == GCONV_OK || status != GCONV_EMPTY_INPUT || status == GCONV_ILLEGAL_INPUT || status == GCONV_INCOMPLETE_INPUT || status == GCONV_FULL_OUTPUT' failed. on very old glibc versions. Work around the problem by pretending that mbsnrtowcs does not exist. Libarchive will fall back to mbrtowc.
* Include bzlib.h consistently across CMake build (#10950)Brad King2012-01-136-6/+6
| | | | | | | | | Use the approach originally used in commit f91b3c1d (Add options to build with system utility libraries, 2006-10-19) for all other third-party libraries. Create a "cm_bzlib.h" header wrapper that robustly includes the header from the bzip2 library chosen for the CMake build (either builtin or system version). Include the header wrapper anywhere we need the API provided by <bzlib.h>.
* Merge branch 'libarchive-upstream' into update-libarchiveBrad King2012-01-0550-726/+808
| | | | | | Conflicts: Utilities/cmlibarchive/CMakeLists.txt Utilities/cmlibarchive/libarchive/archive_windows.c
* libarchive: Avoid bogus conversion warning from PGI compilerBrad King2012-01-044-6/+6
| | | | | | | | | | | | | | | | | | | | We cannot suppress PGI compiler warnings completely because even with the "-w" flag the compiler still writes a message containing "compilation completed with warnings" to stderr. A warning is triggered by expressions like test ? NULL : ptr_to_const_char test ? ".." : ptr_to_const_char that the PGI compiler handles incorrectly. It chooses the pointer type of the first option (either void* or char*) and warns about conversion of the second without a cast. Flip the expression logic to !test ? ptr_to_const_char : NULL !test ? ptr_to_const_char : ".." to help the compiler choose the proper result type.
* libarchive: Rename isoent_rr_move_dir parameter isoent => curentBrad King2012-01-041-21/+21
| | | | | The PGI compiler confuses parameter name "isoent" with "struct isoent". Rename the parameter to "curent" to avoid confusion.
* libarchive: Include linux/types.h before linux/fiemap.hBrad King2012-01-041-0/+3
| | | | | Some Linux API versions do not perform this inclusion automatically, so types like __u64 needed by the latter are not available.
* libarchive: Use Apple copyfile.h API only if availableBrad King2012-01-031-1/+1
| | | | | Do not use the copyfile.h API if the header is not available. The Mac SDK for older OS X versions does not provide it.
* libarchive: Do not use MNT_NOATIME if not definedBrad King2012-01-031-0/+2
| | | | | Use the same pattern already used elsewhere in archive_read_disk_posix.c for ST_NOATIME to use MNT_NOATIME only when defined.
* libarchive: Check for 'struct statvfs' member 'f_iosize'Brad King2011-12-231-0/+5
| | | | | | Configure the result as definition HAVE_STRUCT_STATVFS_F_IOSIZE and use the member only if it exists. At least one platform (IRIX) provides struct statvfs without this member.
* libarchive: Do not use ST_NOATIME if not definedBrad King2011-12-231-0/+2
| | | | | Use the same pattern already used elsewhere in archive_read_disk_posix.c to use ST_NOATIME only when defined.
* libarchive: Fix var decl after statement in archive_string.cBrad King2011-12-231-1/+1
| | | | | When HAVE_MBRTOWC is true we declare an extra local variable. Move the unused argument cast to the end of the invalid_mbs function.
* libarchive: Suppress compiler warningsBrad King2011-12-231-1/+2
| | | | We are not developing libarchive so we do not care about warnings.
* libarchive: Fix Windows NT API usage in VS 6Brad King2011-12-231-0/+18
| | | | | | | | VS 6 warns verbosely when WINVER >= 0x0500. Avoid defining WINVER and _WIN32_WINNT to higher than 0x0400 on VS 6. Provide missing API declarations in archive_windows.h when we do not get them from <windows.h>. Provide GetVolumePathNameW because VS 6 does not declare it regardless of the API version.
* libarchive: Cast mode constants to mode_t in case it is signedBrad King2011-12-231-8/+8
| | | | | | | | | | | | | | | | | | At least one compiler (Borland) defines mode_t as just "short" which is signed. This breaks code like switch(archive_entry_filetype(e)) { case AE_IFREG: ... } if AE_IFREG and other constants have a longer signed type (int) because sign extension of the mode_t return type from archive_entry_filetype changes its value. Avoid the problem by ensuring the type of the constants matches mode_t. This change was originally made in commit a73acfbe (Fix for mode_t with signed types, 2009-11-07). Port it to the new libarchive snapshot.
* libarchive: Workaround case-insensitive symbols on BorlandBrad King2011-12-231-0/+7
| | | | | | | | | | | | | | Mangle the open_FILE symbols to avoid conflict with open_file: Warning: public '_archive_read_open_file' in module 'archive_read_open_filename.c' clashes with prior module 'archive_read_open_file.c' Warning: public '_archive_write_open_file' in module 'archive_write_open_filename.c' clashes with prior module 'archive_write_open_file.c' This workaround should not go upstream because it will break when mixing compilers.