1. 27 9月, 2011 1 次提交
  2. 26 9月, 2011 1 次提交
    • M
      Allow gzread() and related to continue after gzclearerr(). · 5ad116ab
      Mark Adler 提交于
      Before this fix, gzread() would lose data if a premature end of file
      was encountered.  This prevented gzread() from being used on a file
      that was being written concurrently.  Now gzread() returns all of the
      data it has available before indicating a premature end of file.
      
      This also changes the error returned on a premature end of file from
      Z_DATA_ERROR to Z_BUF_ERROR.  This allows the user to determine if
      the error is recoverable, which it is if Z_BUF_ERROR is returned.  If
      a Z_DATA_ERROR is returned, then the error is not recoverable.
      
      This patch replaces the functionality of a previous patch that fixed
      reading through an empty gzip stream in a concatenation of gzip
      streams.
      
      To implement this fix, a noticeable rewrite of gzread.c was needed.
      The patch has the added advantage of using inflate's gzip processing
      instead of replicating the functionality in gzread.c.  This makes the
      gz code a little simpler.
      5ad116ab
  3. 25 9月, 2011 1 次提交
    • M
      Change gzread() and related to ignore junk after gzip streams. · a9ae24b6
      Mark Adler 提交于
      Previously the new gz* functions (introduced in 1.2.4) would read and
      return raw data after the last gzip stream.  This is inconsistent with
      the behavior of gzip and the previous versions of zlib.  Now when one
      or more gzip streams have been decoded from the file, which is then
      followed by data that is not a gzip stream (as detemined by not finding
      the magic header), then that subsequent trailing garbage is ignored,
      and no error is returned.
      a9ae24b6
  4. 24 9月, 2011 3 次提交
  5. 10 9月, 2011 7 次提交