aboutsummaryrefslogtreecommitdiffstats
path: root/libarchive/archive_entry.h
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2017-03-02 21:02:17 +0000
committerMartin Matuska <mm@FreeBSD.org>2017-03-02 21:02:17 +0000
commit4b729aff5b4c807ecf8795452187ca06d5eb042d (patch)
treefefc76886e467f8a662770c4f394a8b76ebaf606 /libarchive/archive_entry.h
parentb2ee1181b4555230a015f1b8f27a1e7ec3c2bb6e (diff)
downloadsrc-4b729aff5b4c807ecf8795452187ca06d5eb042d.tar.gz
src-4b729aff5b4c807ecf8795452187ca06d5eb042d.zip
Update vendor/libarchive to git d6b1bb9f7ea7bc153b7356e8e345c9e48005821avendor/libarchive/3.3.1
Release 3.3.1 Notable vendor changes: PR #501: improvements in ACL path handling PR #724: fix hang when reading malformed cpio files PR #864: fix out of bounds read with malformed GNU tar archives Test suite improvements New options to bsdtar that enable or disable reading and/or writing of: Access Control Lists (--acls, --no-acls) Extended file flags (--fflags, --no-fflags) Extended attributes (--xattrs, --no-xattrs)
Notes
Notes: svn path=/vendor/libarchive/dist/; revision=314565 svn path=/vendor/libarchive/3.3.1/; revision=314566; tag=vendor/libarchive/3.3.1
Diffstat (limited to 'libarchive/archive_entry.h')
-rw-r--r--libarchive/archive_entry.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/libarchive/archive_entry.h b/libarchive/archive_entry.h
index ca77b37810f2..7645f0cf6011 100644
--- a/libarchive/archive_entry.h
+++ b/libarchive/archive_entry.h
@@ -30,7 +30,7 @@
#define ARCHIVE_ENTRY_H_INCLUDED
/* Note: Compiler will complain if this does not match archive.h! */
-#define ARCHIVE_VERSION_NUMBER 3002002
+#define ARCHIVE_VERSION_NUMBER 3003001
/*
* Note: archive_entry.h is for use outside of libarchive; the
@@ -66,6 +66,27 @@ typedef int64_t la_int64_t;
# endif
#endif
+/* The la_ssize_t should match the type used in 'struct stat' */
+#if !defined(__LA_SSIZE_T_DEFINED)
+/* Older code relied on the __LA_SSIZE_T macro; after 4.0 we'll switch to the typedef exclusively. */
+# if ARCHIVE_VERSION_NUMBER < 4000000
+#define __LA_SSIZE_T la_ssize_t
+# endif
+#define __LA_SSIZE_T_DEFINED
+# if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__WATCOMC__)
+# if defined(_SSIZE_T_DEFINED) || defined(_SSIZE_T_)
+typedef ssize_t la_ssize_t;
+# elif defined(_WIN64)
+typedef __int64 la_ssize_t;
+# else
+typedef long la_ssize_t;
+# endif
+# else
+# include <unistd.h> /* ssize_t */
+typedef ssize_t la_ssize_t;
+# endif
+#endif
+
/* Get a suitable definition for mode_t */
#if ARCHIVE_VERSION_NUMBER >= 3999000
/* Switch to plain 'int' for libarchive 4.0. It's less broken than 'mode_t' */
@@ -526,9 +547,9 @@ __LA_DECL int archive_entry_acl_next_w(struct archive_entry *, int /* want_type
#define ARCHIVE_ENTRY_ACL_STYLE_COMPACT 0x00000010
__LA_DECL wchar_t *archive_entry_acl_to_text_w(struct archive_entry *,
- ssize_t * /* len */, int /* flags */);
+ la_ssize_t * /* len */, int /* flags */);
__LA_DECL char *archive_entry_acl_to_text(struct archive_entry *,
- ssize_t * /* len */, int /* flags */);
+ la_ssize_t * /* len */, int /* flags */);
__LA_DECL int archive_entry_acl_from_text_w(struct archive_entry *,
const wchar_t * /* wtext */, int /* type */);
__LA_DECL int archive_entry_acl_from_text(struct archive_entry *,