diff options
author | Martin Matuska <mm@FreeBSD.org> | 2020-12-16 22:25:40 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2020-12-16 22:25:40 +0000 |
commit | 3ad46d07830bba44c479e2d19ce376212e52e9af (patch) | |
tree | dbd7e07db590bf11512996d9378557237a293e39 /contrib/libarchive/libarchive/archive_read_support_format_by_code.c | |
parent | e61d354b85d80126c4833746c22f320c31b68a2b (diff) | |
download | src-3ad46d07830bba44c479e2d19ce376212e52e9af.tar.gz src-3ad46d07830bba44c479e2d19ce376212e52e9af.zip |
MFC r368207,368607:stable/10
MFC r368207:
Update libarchive to 3.5.0
Relevant vendor changes:
Issue #1258: add archive_read_support_filter_by_code()
PR #1347: mtree digest reader support
Issue #1381: skip hardlinks pointing to itself on extraction
PR #1387: fix writing of cpio archives with hardlinks without file type
PR #1388: fix rdev field in cpio format for device nodes
PR #1389: completed support for UTF-8 encoding conversion
PR #1405: more formats in archive_read_support_format_by_code()
PR #1408: fix uninitialized size in rar5_read_data
PR #1409: system extended attribute support
PR #1435: support for decompression of symbolic links in zipx archives
Issue #1456: memory leak after unsuccessful archive_write_open_filename
MFC r368607:
Sync libarchive with vendor.
Vendor changes:
Issue #1461: Unbreak build without lzma
Issue #1462: warc reader: Fix build with gcc11
Issue #1463: Fix code compatibility in test_archive_read_support.c
Issue #1464: Use built-in strnlen on platforms where not available
Issue #1465: warc reader: fix undefined behaviour in deconst() function
Notes
Notes:
svn path=/stable/10/; revision=368708
Diffstat (limited to 'contrib/libarchive/libarchive/archive_read_support_format_by_code.c')
-rw-r--r-- | contrib/libarchive/libarchive/archive_read_support_format_by_code.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/contrib/libarchive/libarchive/archive_read_support_format_by_code.c b/contrib/libarchive/libarchive/archive_read_support_format_by_code.c index 034353d78f63..89e96f1f591f 100644 --- a/contrib/libarchive/libarchive/archive_read_support_format_by_code.c +++ b/contrib/libarchive/libarchive/archive_read_support_format_by_code.c @@ -26,6 +26,10 @@ #include "archive_platform.h" __FBSDID("$FreeBSD$"); +#ifdef HAVE_ERRNO_H +#include <errno.h> +#endif + #include "archive.h" #include "archive_private.h" @@ -48,6 +52,9 @@ archive_read_support_format_by_code(struct archive *a, int format_code) case ARCHIVE_FORMAT_CPIO: return archive_read_support_format_cpio(a); break; + case ARCHIVE_FORMAT_EMPTY: + return archive_read_support_format_empty(a); + break; case ARCHIVE_FORMAT_ISO9660: return archive_read_support_format_iso9660(a); break; @@ -63,9 +70,15 @@ archive_read_support_format_by_code(struct archive *a, int format_code) case ARCHIVE_FORMAT_RAR_V5: return archive_read_support_format_rar5(a); break; + case ARCHIVE_FORMAT_RAW: + return archive_read_support_format_raw(a); + break; case ARCHIVE_FORMAT_TAR: return archive_read_support_format_tar(a); break; + case ARCHIVE_FORMAT_WARC: + return archive_read_support_format_warc(a); + break; case ARCHIVE_FORMAT_XAR: return archive_read_support_format_xar(a); break; @@ -73,5 +86,7 @@ archive_read_support_format_by_code(struct archive *a, int format_code) return archive_read_support_format_zip(a); break; } + archive_set_error(a, ARCHIVE_ERRNO_PROGRAMMER, + "Invalid format code specified"); return (ARCHIVE_FATAL); } |