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