diff options
author | cperciva <cperciva@FreeBSD.org> | 2007-01-05 10:48:18 +0000 |
---|---|---|
committer | cperciva <cperciva@FreeBSD.org> | 2007-01-05 10:48:18 +0000 |
commit | f583eee6e15beb870cee2e61468804ac5017cfd2 (patch) | |
tree | a8fbd9a8f7d676f70ed6b0db08db229718f48ade | |
parent | 872ebc62d77854d9b1f45266568982a51ba268a4 (diff) | |
download | FreeBSD-src-f583eee6e15beb870cee2e61468804ac5017cfd2.zip FreeBSD-src-f583eee6e15beb870cee2e61468804ac5017cfd2.tar.gz |
Change the client skipper API to use off_t instead of size_t/ssize_t; but
wrap this within #if/#else/#endif so that it will only take effect once
ARCHIVE_API_VERSION is increased (which should happen on HEAD some time
between now and when RELENG_7 is branched).
-rw-r--r-- | lib/libarchive/archive.h.in | 5 | ||||
-rw-r--r-- | lib/libarchive/archive_read.3 | 5 | ||||
-rw-r--r-- | lib/libarchive/archive_read_open_fd.c | 9 | ||||
-rw-r--r-- | lib/libarchive/archive_read_open_file.c | 9 | ||||
-rw-r--r-- | lib/libarchive/archive_read_open_filename.c | 9 | ||||
-rw-r--r-- | lib/libarchive/archive_read_open_memory.c | 9 |
6 files changed, 46 insertions, 0 deletions
diff --git a/lib/libarchive/archive.h.in b/lib/libarchive/archive.h.in index 95a9915..dc16c58 100644 --- a/lib/libarchive/archive.h.in +++ b/lib/libarchive/archive.h.in @@ -112,8 +112,13 @@ struct archive_entry; typedef ssize_t archive_read_callback(struct archive *, void *_client_data, const void **_buffer); /* Skips at most request bytes from archive and returns the skipped amount */ +#if ARCHIVE_API_VERSION < 2 typedef ssize_t archive_skip_callback(struct archive *, void *_client_data, size_t request); +#else +typedef off_t archive_skip_callback(struct archive *, void *_client_data, + off_t request); +#endif /* Returns size actually written, zero on EOF, -1 on error. */ typedef ssize_t archive_write_callback(struct archive *, void *_client_data, const void *_buffer, size_t _length); diff --git a/lib/libarchive/archive_read.3 b/lib/libarchive/archive_read.3 index cde80c9..0079be0 100644 --- a/lib/libarchive/archive_read.3 +++ b/lib/libarchive/archive_read.3 @@ -321,8 +321,13 @@ The callback functions must match the following prototypes: .Ft typedef ssize_t .Fn archive_read_callback "struct archive *" "void *client_data" "const void **buffer" .It +.\" #if ARCHIVE_API_VERSION < 2 .Ft typedef int .Fn archive_skip_callback "struct archive *" "void *client_data" "size_t request" +.\" #else +.\" .Ft typedef off_t +.\" .Fn archive_skip_callback "struct archive *" "void *client_data" "off_t request" +.\" #endif .It .Ft typedef int .Fn archive_open_callback "struct archive *" "void *client_data" diff --git a/lib/libarchive/archive_read_open_fd.c b/lib/libarchive/archive_read_open_fd.c index a28a191..038943c 100644 --- a/lib/libarchive/archive_read_open_fd.c +++ b/lib/libarchive/archive_read_open_fd.c @@ -54,7 +54,11 @@ struct read_fd_data { static int file_close(struct archive *, void *); static int file_open(struct archive *, void *); static ssize_t file_read(struct archive *, void *, const void **buff); +#if ARCHIVE_API_VERSION < 2 static ssize_t file_skip(struct archive *, void *, size_t request); +#else +static off_t file_skip(struct archive *, void *, off_t request); +#endif int archive_read_open_fd(struct archive *a, int fd, size_t block_size) @@ -107,8 +111,13 @@ file_read(struct archive *a, void *client_data, const void **buff) return (bytes_read); } +#if ARCHIVE_API_VERSION < 2 static ssize_t file_skip(struct archive *a, void *client_data, size_t request) +#else +static off_t +file_skip(struct archive *a, void *client_data, off_t request) +#endif { struct read_fd_data *mine = (struct read_fd_data *)client_data; off_t old_offset, new_offset; diff --git a/lib/libarchive/archive_read_open_file.c b/lib/libarchive/archive_read_open_file.c index cb18fc3..e7d514b 100644 --- a/lib/libarchive/archive_read_open_file.c +++ b/lib/libarchive/archive_read_open_file.c @@ -57,7 +57,11 @@ struct read_FILE_data { static int file_close(struct archive *, void *); static int file_open(struct archive *, void *); static ssize_t file_read(struct archive *, void *, const void **buff); +#if ARCHIVE_API_VERSION < 2 static ssize_t file_skip(struct archive *, void *, size_t request); +#else +static off_t file_skip(struct archive *, void *, off_t request); +#endif int archive_read_open_FILE(struct archive *a, FILE *f) @@ -112,8 +116,13 @@ file_read(struct archive *a, void *client_data, const void **buff) return (bytes_read); } +#if ARCHIVE_API_VERSION < 2 static ssize_t file_skip(struct archive *a, void *client_data, size_t request) +#else +static off_t +file_skip(struct archive *a, void *client_data, off_t request) +#endif { struct read_FILE_data *mine = (struct read_FILE_data *)client_data; diff --git a/lib/libarchive/archive_read_open_filename.c b/lib/libarchive/archive_read_open_filename.c index cefc286..2355f19 100644 --- a/lib/libarchive/archive_read_open_filename.c +++ b/lib/libarchive/archive_read_open_filename.c @@ -59,7 +59,11 @@ struct read_file_data { static int file_close(struct archive *, void *); static int file_open(struct archive *, void *); static ssize_t file_read(struct archive *, void *, const void **buff); +#if ARCHIVE_API_VERSION < 2 static ssize_t file_skip(struct archive *, void *, size_t request); +#else +static off_t file_skip(struct archive *, void *, off_t request); +#endif int archive_read_open_file(struct archive *a, const char *filename, @@ -151,8 +155,13 @@ file_read(struct archive *a, void *client_data, const void **buff) return (bytes_read); } +#if ARCHIVE_API_VERSION < 2 static ssize_t file_skip(struct archive *a, void *client_data, size_t request) +#else +static off_t +file_skip(struct archive *a, void *client_data, off_t request) +#endif { struct read_file_data *mine = (struct read_file_data *)client_data; off_t old_offset, new_offset; diff --git a/lib/libarchive/archive_read_open_memory.c b/lib/libarchive/archive_read_open_memory.c index a639d85..01975cf 100644 --- a/lib/libarchive/archive_read_open_memory.c +++ b/lib/libarchive/archive_read_open_memory.c @@ -48,7 +48,11 @@ struct read_memory_data { static int memory_read_close(struct archive *, void *); static int memory_read_open(struct archive *, void *); +#if ARCHIVE_API_VERSION < 2 static ssize_t memory_read_skip(struct archive *, void *, size_t request); +#else +static off_t memory_read_skip(struct archive *, void *, off_t request); +#endif static ssize_t memory_read(struct archive *, void *, const void **buff); int @@ -119,8 +123,13 @@ memory_read(struct archive *a, void *client_data, const void **buff) * necessary in order to better exercise internal code when used * as a test harness. */ +#if ARCHIVE_API_VERSION < 2 static ssize_t memory_read_skip(struct archive *a, void *client_data, size_t skip) +#else +static off_t +memory_read_skip(struct archive *a, void *client_data, off_t skip) +#endif { struct read_memory_data *mine = (struct read_memory_data *)client_data; |