]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
For internal APIs, we don't need to worry about the API version.
authorTim Kientzle <kientzle@gmail.com>
Mon, 31 May 2010 18:37:17 +0000 (14:37 -0400)
committerTim Kientzle <kientzle@gmail.com>
Mon, 31 May 2010 18:37:17 +0000 (14:37 -0400)
SVN-Revision: 2432

14 files changed:
libarchive/archive_read.c
libarchive/archive_read_data_into_fd.c
libarchive/archive_read_private.h
libarchive/archive_read_support_format_ar.c
libarchive/archive_read_support_format_cpio.c
libarchive/archive_read_support_format_empty.c
libarchive/archive_read_support_format_iso9660.c
libarchive/archive_read_support_format_mtree.c
libarchive/archive_read_support_format_raw.c
libarchive/archive_read_support_format_tar.c
libarchive/archive_read_support_format_xar.c
libarchive/archive_read_support_format_zip.c
libarchive/archive_windows.h
libarchive/archive_write_set_format_zip.c

index dc8d31b0c8a50f1bb9faa814afdc8fab3f9431be..6b2f04c215ba1f77e6d56ee14b09dfc714912c90 100644 (file)
@@ -67,6 +67,10 @@ static int  _archive_filter_count(struct archive *);
 static int     _archive_read_close(struct archive *);
 static int     _archive_read_free(struct archive *);
 static int64_t  advance_file_pointer(struct archive_read_filter *, int64_t);
+#if ARCHIVE_VERSION_NUMBER < 3000000
+static int     archive_read_data_block64(struct archive *,
+                   const void **, size_t *, int64_t *);
+#endif
 
 static struct archive_vtable *
 archive_read_vtable(void)
@@ -596,8 +600,13 @@ archive_read_data(struct archive *_a, void *buff, size_t s)
        while (s > 0) {
                if (a->read_data_remaining == 0) {
                        read_buf = a->read_data_block;
+#if ARCHIVE_VERSION_NUMBER < 3000000
+                       r = archive_read_data_block64(&a->archive, &read_buf,
+                           &a->read_data_remaining, &a->read_data_offset);
+#else
                        r = archive_read_data_block(&a->archive, &read_buf,
                            &a->read_data_remaining, &a->read_data_offset);
+#endif
                        a->read_data_block = read_buf;
                        if (r == ARCHIVE_EOF)
                                return (bytes_read);
@@ -715,8 +724,21 @@ archive_read_data_skip(struct archive *_a)
 int
 archive_read_data_block(struct archive *_a,
     const void **buff, size_t *size, off_t *offset)
+{
+       int r;
+       int64_t offset64;
+       r = archive_read_data_block64(_a, buff, size, &offset64);
+       *offset = (off_t)offset64;
+       return (r);
+}
+#endif
+
+#if ARCHIVE_VERSION_NUMBER < 3000000
+static int
+archive_read_data_block64(struct archive *_a,
+    const void **buff, size_t *size, int64_t *offset)
 #else
-int
+static int
 archive_read_data_block(struct archive *_a,
     const void **buff, size_t *size, int64_t *offset)
 #endif
@@ -734,6 +756,7 @@ archive_read_data_block(struct archive *_a,
 
        return (a->format->read_data)(a, buff, size, offset);
 }
+#endif
 
 static int
 close_filters(struct archive_read *a)
@@ -765,7 +788,7 @@ free_filters(struct archive_read *a)
        }
 }
 
-/* 
+/*
  * return the count of # of filters in use
  */
 static int
@@ -915,11 +938,7 @@ __archive_read_register_format(struct archive_read *a,
     int (*bid)(struct archive_read *),
     int (*options)(struct archive_read *, const char *, const char *),
     int (*read_header)(struct archive_read *, struct archive_entry *),
-#if ARCHIVE_VERSION_NUMBER < 3000000
-    int (*read_data)(struct archive_read *, const void **, size_t *, off_t *),
-#else
     int (*read_data)(struct archive_read *, const void **, size_t *, int64_t *),
-#endif
     int (*read_data_skip)(struct archive_read *),
     int (*cleanup)(struct archive_read *))
 {
index afe55a7734966930050e1737691056c7ce3ea648..cfb63220cabc3ef1189a477b77285097b919875b 100644 (file)
@@ -57,7 +57,7 @@ archive_read_data_into_fd(struct archive *a, int fd)
 #else
        int64_t offset;
 #endif
-       off_t output_offset;
+       int64_t output_offset;
 
        archive_check_magic(a, ARCHIVE_READ_MAGIC, ARCHIVE_STATE_DATA,
            "archive_read_data_into_fd");
index d9448d7731a6eb2ea9233633dc0c2736b7e84600..cf25004a49b228bab9382f9dc80e0a98317f8840 100644 (file)
@@ -135,12 +135,8 @@ struct archive_read {
         * data to client buffers, filling gaps with zero bytes.
         */
        const char       *read_data_block;
-#if ARCHIVE_VERSION_NUMBER < 3000000
-       off_t             read_data_offset;
-#else
        int64_t           read_data_offset;
-#endif
-       off_t             read_data_output_offset;
+       int64_t           read_data_output_offset;
        size_t            read_data_remaining;
 
        /* Callbacks to open/read/write/close client archive stream. */
@@ -153,7 +149,7 @@ struct archive_read {
        struct archive_read_filter *filter;
 
        /* File offset of beginning of most recently-read header. */
-       off_t             header_position;
+       int64_t           header_position;
 
        /*
         * Format detection is mostly the same as compression
@@ -170,11 +166,7 @@ struct archive_read {
                int     (*options)(struct archive_read *, const char *key,
                    const char *value);
                int     (*read_header)(struct archive_read *, struct archive_entry *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-               int     (*read_data)(struct archive_read *, const void **, size_t *, off_t *);
-#else
                int     (*read_data)(struct archive_read *, const void **, size_t *, int64_t *);
-#endif
                int     (*read_data_skip)(struct archive_read *);
                int     (*cleanup)(struct archive_read *);
        }       formats[9];
@@ -193,11 +185,7 @@ int        __archive_read_register_format(struct archive_read *a,
            int (*bid)(struct archive_read *),
            int (*options)(struct archive_read *, const char *, const char *),
            int (*read_header)(struct archive_read *, struct archive_entry *),
-#if ARCHIVE_VERSION_NUMBER < 3000000
-           int (*read_data)(struct archive_read *, const void **, size_t *, off_t *),
-#else
            int (*read_data)(struct archive_read *, const void **, size_t *, int64_t *),
-#endif
            int (*read_data_skip)(struct archive_read *),
            int (*cleanup)(struct archive_read *));
 
index dcee9ba470c7fbea252b89667c66480c3f059587..5e7b1362951851b0e00cd19b80f81b8e66271b7c 100644 (file)
@@ -78,13 +78,8 @@ struct ar {
 
 static int     archive_read_format_ar_bid(struct archive_read *a);
 static int     archive_read_format_ar_cleanup(struct archive_read *a);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     archive_read_format_ar_read_data(struct archive_read *a,
-                   const void **buff, size_t *size, off_t *offset);
-#else
 static int     archive_read_format_ar_read_data(struct archive_read *a,
                    const void **buff, size_t *size, int64_t *offset);
-#endif
 static int     archive_read_format_ar_skip(struct archive_read *a);
 static int     archive_read_format_ar_read_header(struct archive_read *a,
                    struct archive_entry *e);
@@ -442,15 +437,9 @@ ar_parse_common_header(struct ar *ar, struct archive_entry *entry,
        return (ARCHIVE_OK);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-archive_read_format_ar_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 archive_read_format_ar_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        ssize_t bytes_read;
        struct ar *ar;
index d3bd0275e332aee94bd5dd6bc59226d3aa80bfcf..d3c1ee58be56b18c6f85686c6308add265325fab 100644 (file)
@@ -142,13 +142,8 @@ static int64_t     atol16(const char *, unsigned);
 static int64_t atol8(const char *, unsigned);
 static int     archive_read_format_cpio_bid(struct archive_read *);
 static int     archive_read_format_cpio_cleanup(struct archive_read *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     archive_read_format_cpio_read_data(struct archive_read *,
-                   const void **, size_t *, off_t *);
-#else
 static int     archive_read_format_cpio_read_data(struct archive_read *,
                    const void **, size_t *, int64_t *);
-#endif
 static int     archive_read_format_cpio_read_header(struct archive_read *,
                    struct archive_entry *);
 static int     be4(const unsigned char *);
@@ -322,15 +317,9 @@ archive_read_format_cpio_read_header(struct archive_read *a,
        return (r);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-archive_read_format_cpio_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 archive_read_format_cpio_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        ssize_t bytes_read;
        struct cpio *cpio;
index 73f51b694e19869e89e7cc91a3c12f710d53fd19..5186b11774fc1128efca1b022a21be49e1c1daae 100644 (file)
@@ -32,13 +32,8 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_empty.c 1915
 #include "archive_read_private.h"
 
 static int     archive_read_format_empty_bid(struct archive_read *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     archive_read_format_empty_read_data(struct archive_read *,
-                   const void **, size_t *, off_t *);
-#else
 static int     archive_read_format_empty_read_data(struct archive_read *,
                    const void **, size_t *, int64_t *);
-#endif
 static int     archive_read_format_empty_read_header(struct archive_read *,
                    struct archive_entry *);
 int
@@ -88,15 +83,9 @@ archive_read_format_empty_read_header(struct archive_read *a,
        return (ARCHIVE_EOF);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-archive_read_format_empty_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 archive_read_format_empty_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        (void)a; /* UNUSED */
        (void)buff; /* UNUSED */
index 9ba687af05fcf33f214b7a1037bdbc259b56e372..84bdbb22e562fec12efd772b4a7eb82f5310d178 100644 (file)
@@ -358,13 +358,8 @@ static int archive_read_format_iso9660_bid(struct archive_read *);
 static int     archive_read_format_iso9660_options(struct archive_read *,
                    const char *, const char *);
 static int     archive_read_format_iso9660_cleanup(struct archive_read *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     archive_read_format_iso9660_read_data(struct archive_read *,
-                   const void **, size_t *, off_t *);
-#else
 static int     archive_read_format_iso9660_read_data(struct archive_read *,
                    const void **, size_t *, int64_t *);
-#endif
 static int     archive_read_format_iso9660_read_data_skip(struct archive_read *);
 static int     archive_read_format_iso9660_read_header(struct archive_read *,
                    struct archive_entry *);
@@ -1343,15 +1338,9 @@ archive_read_format_iso9660_read_data_skip(struct archive_read *a)
 
 #ifdef HAVE_ZLIB_H
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-zisofs_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 zisofs_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        struct iso9660 *iso9660;
        struct zisofs  *zisofs;
@@ -1567,15 +1556,9 @@ next_data:
 
 #else /* HAVE_ZLIB_H */
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-zisofs_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 zisofs_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
 
        (void)buff;/* UNUSED */
@@ -1588,15 +1571,9 @@ zisofs_read_data(struct archive_read *a,
 
 #endif /* HAVE_ZLIB_H */
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-archive_read_format_iso9660_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 archive_read_format_iso9660_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        ssize_t bytes_read;
        struct iso9660 *iso9660;
index f938c07b80c6141224dcfa95a77eadb0785f1140..5e687d331576a249a4d8d8c7e5746eac21608dfa 100644 (file)
@@ -110,13 +110,8 @@ static int parse_line(struct archive_read *, struct archive_entry *,
                    struct mtree *, struct mtree_entry *, int *);
 static int     parse_keyword(struct archive_read *, struct mtree *,
                    struct archive_entry *, struct mtree_option *, int *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     read_data(struct archive_read *a,
-                   const void **buff, size_t *size, off_t *offset);
-#else
 static int     read_data(struct archive_read *a,
                    const void **buff, size_t *size, int64_t *offset);
-#endif
 static ssize_t readline(struct archive_read *, struct mtree *, char **, ssize_t);
 static int     skip(struct archive_read *a);
 static int     read_header(struct archive_read *,
@@ -976,13 +971,8 @@ parse_keyword(struct archive_read *a, struct mtree *mtree,
        return (ARCHIVE_OK);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-read_data(struct archive_read *a, const void **buff, size_t *size, off_t *offset)
-#else
 static int
 read_data(struct archive_read *a, const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        size_t bytes_to_read;
        ssize_t bytes_read;
index 3cbb8f5d9afd597eb568d3e1ed48b068cc7e50d8..65d559fa2c3ffa94b988c4560c2078352474dc13 100644 (file)
@@ -45,13 +45,8 @@ struct raw_info {
 
 static int     archive_read_format_raw_bid(struct archive_read *);
 static int     archive_read_format_raw_cleanup(struct archive_read *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     archive_read_format_raw_read_data(struct archive_read *,
-                   const void **, size_t *, off_t *);
-#else
 static int     archive_read_format_raw_read_data(struct archive_read *,
                    const void **, size_t *, int64_t *);
-#endif
 static int     archive_read_format_raw_read_data_skip(struct archive_read *);
 static int     archive_read_format_raw_read_header(struct archive_read *,
                    struct archive_entry *);
@@ -125,15 +120,9 @@ archive_read_format_raw_read_header(struct archive_read *a,
        return (ARCHIVE_OK);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-archive_read_format_raw_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 archive_read_format_raw_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        struct raw_info *info;
        ssize_t avail;
index 557439d094708d4f09aa053a6a705a23e8547d57..f11fe19df346b464c20a1ad4a5c184517af96bd9 100644 (file)
@@ -207,13 +207,8 @@ static int header_gnutar(struct archive_read *, struct tar *,
                    struct archive_entry *, const void *h);
 static int     archive_read_format_tar_bid(struct archive_read *);
 static int     archive_read_format_tar_cleanup(struct archive_read *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     archive_read_format_tar_read_data(struct archive_read *a,
-                   const void **buff, size_t *size, off_t *offset);
-#else
 static int     archive_read_format_tar_read_data(struct archive_read *a,
                    const void **buff, size_t *size, int64_t *offset);
-#endif
 static int     archive_read_format_tar_skip(struct archive_read *a);
 static int     archive_read_format_tar_read_header(struct archive_read *,
                    struct archive_entry *);
@@ -455,15 +450,9 @@ archive_read_format_tar_read_header(struct archive_read *a,
        return (r);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-archive_read_format_tar_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 archive_read_format_tar_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        ssize_t bytes_read;
        struct tar *tar;
index 669517d9f024d0fd4dbbb79463cf584fe1744fe1..32c6045ff943040e7369b2796fda145dcfd94183 100644 (file)
@@ -371,13 +371,8 @@ struct xmlattr_list {
 static int     xar_bid(struct archive_read *);
 static int     xar_read_header(struct archive_read *,
                    struct archive_entry *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     xar_read_data(struct archive_read *,
-                   const void **, size_t *, off_t *);
-#else
 static int     xar_read_data(struct archive_read *,
                    const void **, size_t *, int64_t *);
-#endif
 static int     xar_read_data_skip(struct archive_read *);
 static int     xar_cleanup(struct archive_read *);
 static int     move_reading_point(struct archive_read *, uint64_t);
@@ -761,15 +756,9 @@ xar_read_header(struct archive_read *a, struct archive_entry *entry)
        return (r);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-xar_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 xar_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        struct xar *xar;
        size_t used;
index a29407627f512aa17ef412234dd1bc3e13ceea02..f43f3070dbd538070e5f27909ca11eedeeb6ccd6 100644 (file)
@@ -123,27 +123,15 @@ static const char *compression_names[] = {
 
 static int     archive_read_format_zip_bid(struct archive_read *);
 static int     archive_read_format_zip_cleanup(struct archive_read *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     archive_read_format_zip_read_data(struct archive_read *,
-                   const void **, size_t *, off_t *);
-#else
 static int     archive_read_format_zip_read_data(struct archive_read *,
                    const void **, size_t *, int64_t *);
-#endif
 static int     archive_read_format_zip_read_data_skip(struct archive_read *a);
 static int     archive_read_format_zip_read_header(struct archive_read *,
                    struct archive_entry *);
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int     zip_read_data_deflate(struct archive_read *a, const void **buff,
-                   size_t *size, off_t *offset);
-static int     zip_read_data_none(struct archive_read *a, const void **buff,
-                   size_t *size, off_t *offset);
-#else
 static int     zip_read_data_deflate(struct archive_read *a, const void **buff,
                    size_t *size, int64_t *offset);
 static int     zip_read_data_none(struct archive_read *a, const void **buff,
                    size_t *size, int64_t *offset);
-#endif
 static int     zip_read_file_header(struct archive_read *a,
                    struct archive_entry *entry, struct zip *zip);
 static time_t  zip_time(const char *);
@@ -501,15 +489,9 @@ zip_time(const char *p)
        return mktime(&ts);
 }
 
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-archive_read_format_zip_read_data(struct archive_read *a,
-    const void **buff, size_t *size, off_t *offset)
-#else
 static int
 archive_read_format_zip_read_data(struct archive_read *a,
     const void **buff, size_t *size, int64_t *offset)
-#endif
 {
        int r;
        struct zip *zip;
@@ -619,15 +601,9 @@ archive_read_format_zip_read_data(struct archive_read *a,
  * Returns ARCHIVE_OK if successful, ARCHIVE_FATAL otherwise, sets
  * zip->end_of_entry if it consumes all of the data.
  */
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-zip_read_data_none(struct archive_read *a, const void **buff,
-    size_t *size, off_t *offset)
-#else
 static int
 zip_read_data_none(struct archive_read *a, const void **buff,
     size_t *size, int64_t *offset)
-#endif
 {
        struct zip *zip;
        ssize_t bytes_avail;
@@ -666,15 +642,9 @@ zip_read_data_none(struct archive_read *a, const void **buff,
 }
 
 #ifdef HAVE_ZLIB_H
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-zip_read_data_deflate(struct archive_read *a, const void **buff,
-    size_t *size, off_t *offset)
-#else
 static int
 zip_read_data_deflate(struct archive_read *a, const void **buff,
     size_t *size, int64_t *offset)
-#endif
 {
        struct zip *zip;
        ssize_t bytes_avail;
@@ -770,15 +740,9 @@ zip_read_data_deflate(struct archive_read *a, const void **buff,
        return (ARCHIVE_OK);
 }
 #else
-#if ARCHIVE_VERSION_NUMBER < 3000000
-static int
-zip_read_data_deflate(struct archive_read *a, const void **buff,
-    size_t *size, off_t *offset)
-#else
 static int
 zip_read_data_deflate(struct archive_read *a, const void **buff,
     size_t *size, int64_t *offset)
-#endif
 {
        *buff = NULL;
        *size = 0;
@@ -808,11 +772,7 @@ archive_read_format_zip_read_data_skip(struct archive_read *a)
         */
        if (zip->flags & ZIP_LENGTH_AT_END) {
                size_t size;
-#if ARCHIVE_VERSION_NUMBER < 3000000
-               off_t offset;
-#else
                int64_t offset;
-#endif
                int r;
                do {
                        r = archive_read_format_zip_read_data(a, &buff,
index 90b138ca1035d6bdf71106f40b46ad76149218b3..1b878c2a9f852430ade02898f029296b5176c30a 100644 (file)
@@ -320,7 +320,7 @@ extern int   __la_chdir(const char *path);
 extern int      __la_chmod(const char *path, mode_t mode);
 extern int      __la_fcntl(int fd, int cmd, int val);
 extern int      __la_fstat(int fd, struct stat *st);
-extern int      __la_ftruncate(int fd, off_t length);
+extern int      __la_ftruncate(int fd, int64_t length);
 extern int      __la_futimes(int fd, const struct __timeval *times);
 extern int      __la_link(const char *src, const char *dst);
 extern __int64  __la_lseek(int fd, __int64 offset, int whence);
index 1090e9b8d7f6668628502b9eccb2ce8d09f0876c..0fda2a0321d5c59b9dc1bde33cb151554e4146f8 100644 (file)
@@ -164,9 +164,9 @@ struct zip_extra_data_central {
 struct zip_file_header_link {
        struct zip_file_header_link *next;
        struct archive_entry *entry;
-       off_t offset;
+       int64_t offset;
        unsigned long crc32;
-       off_t compressed_size;
+       int64_t compressed_size;
        enum compression compression;
 };
 
@@ -499,7 +499,7 @@ archive_write_zip_close(struct archive_write *a)
        struct zip_file_header h;
        struct zip_central_directory_end end;
        struct zip_extra_data_central e;
-       off_t offset_start, offset_end;
+       int64_t offset_start, offset_end;
        int entries;
        int ret;