int r;
size_t size;
const void *block;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
for (;;) {
r = archive_read_data_block(ar, &block, &size, &offset);
int r;
const void *buff;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
__archive_check_magic(_a, ARCHIVE_READ_MAGIC, ARCHIVE_STATE_DATA,
"archive_read_data_skip");
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 *))
{
const void *buff;
size_t size, bytes_to_write;
ssize_t bytes_written, total_written;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
off_t output_offset;
__archive_check_magic(a, ARCHIVE_READ_MAGIC, ARCHIVE_STATE_DATA, "archive_read_data_into_fd");
static int
copy_data(struct archive *ar, struct archive *aw)
{
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
const void *buff;
struct extract *extract;
size_t size;
* 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;
size_t read_data_remaining;
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];
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 *));
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);
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;
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 *);
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;
#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
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 */
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 *);
#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;
#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 */
#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;
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 *,
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;
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 *);
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;
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 *);
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;
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);
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;
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 *);
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;
* 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;
}
#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;
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;
*/
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,
{
const void *blk;
size_t blk_size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t blk_offset;
+#else
+ int64_t blk_offset;
+#endif
int n;
for (n = 0; files[n].name != NULL; ++n) {
struct contents {
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t o;
+#else
+ int64_t o;
+#endif
size_t s;
const char *d;
};
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
int i;
extract_reference_file(refname);
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
extract_reference_file(refname);
assert((a = archive_read_new()) != NULL);
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
int i;
for (i = 0; i < 100; i++)
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
extract_reference_file(refname);
assert((a = archive_read_new()) != NULL);
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
int i;
extract_reference_file(refname);
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
int i;
mkpath(path1, 151);
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
int i;
extract_reference_file(refname);
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
int i;
extract_reference_file(refname);
struct archive *a;
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
int i;
extract_reference_file(refname);
{
const void *p;
size_t size;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t offset;
+#else
+ int64_t offset;
+#endif
assert(archive_entry_filetype(ae) == AE_IFREG);
assertEqualInt(archive_entry_mode(ae) & 0777, 0644);
char *buff[128];
const void *pv;
size_t s;
+#if ARCHIVE_VERSION_NUMBER < 3000000
off_t o;
+#else
+ int64_t o;
+#endif
int r;
extract_reference_file(refname);