cvs commit: src/lib/libarchive archive_private.h
archive_read_support_compression_none.c
archive_read_support_format_iso9660.c archive_read_support_format_tar.c
Colin Percival
cperciva at FreeBSD.org
Thu Jan 4 04:45:01 PST 2007
cperciva 2007-01-04 12:45:00 UTC
FreeBSD src repository
Modified files:
lib/libarchive archive_private.h
archive_read_support_compression_none.c
archive_read_support_format_iso9660.c
archive_read_support_format_tar.c
Log:
Convert compression_skip from taking a size_t skip length request and
returning the length skipped in a ssize_t to using off_t for both. This
does not break any A[BP]Is, since compression_skip is entirely internal
to libarchive.
If a skip request is > SSIZE_MAX, don't pass it down to the client layer
skip function, since those still uses size_t / ssize_t. Instead, just
read the data and throw it away.
With this commit, libarchive/bsdtar should now successfully skip archive
entries of >2GB on 32-bit systems, but does so slower than necessary.
The performance will improve with a future A[BP]I breaking commit which
makes client layer skip functions use off_t.
Discussed with: kientzle
MFC after: 1 week
Revision Changes Path
1.26 +1 -1 src/lib/libarchive/archive_private.h
1.12 +11 -8 src/lib/libarchive/archive_read_support_compression_none.c
1.17 +2 -2 src/lib/libarchive/archive_read_support_format_iso9660.c
1.47 +1 -1 src/lib/libarchive/archive_read_support_format_tar.c
More information about the cvs-src
mailing list