Date: Thu, 4 Jan 2007 12:45:00 +0000 (UTC) From: Colin Percival <cperciva@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: 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 Message-ID: <200701041245.l04Cj0ZX068332@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701041245.l04Cj0ZX068332>