Revision history for Perl extension Layer::Gzip. 0.01 Sat Feb 3 13:51:15 2001 - original version; created by h2xs 1.21 with options -c -n Layer::Gzip /usr/local/include/sfio.h 0.02 Sunday parse gzip header, 40 regression tests 0.03 Tue Feb 6 18:50:01 GMT 2001 Change name from Layer::Gzip to PerlIO::gzip following feedback on p5p. Add checks to Makefile.PL to ensure you have 5.7.0 [or later :-)] and PerlIO configure. 0.04 Tue Feb 6 23:56:16 GMT 2001 Added autopop mode. There must be a better name for it. Changed order in PerlIOGzip_pushed to call PerlIObuf first (D'oh) and to pop without error in autopop mode with a write. 0.05 Sun Feb 11 22:12:42 GMT 2001 Mmm. CRCs at the ends of files - maybe I should check them? Now gives error on close if the z_stream is at the end and either the CRC or the length recorded in the gzip trailer is wrong. Doesn't try these checks for files with no gzip header. PROTOTYPES: DISABLE in the .xs 0.06 Fri Feb 16 23:59:18 GMT 2001 We have compression! Hmm. Didn't check the return from close on perl.gz - transpires there was a bug in my code to read the length of uncompressed data from the gzip file Hmm. Why was I passing *my* args down to the PerlIOBuf I'm a derived class of? On the other hand, why not? ISA or HASA? My args, HASA, I guess, so I'll give it NULL args. 0.07 Sun Feb 18 23:21:48 GMT 2001 s/to/too/ in the BARF message in Makefile.PL [1 character change. Look at the paperwork that generated :-)] use XSLoader rather than Dynaloader. 0.08 Mon Feb 19 21:14:45 GMT 2001 fix bug in get_more's return value that basically prevented you from reading any header with embedded filename from an unbuffered layer. [Obscure, but it's suppoed to work with unbuffered] However, still problems with unread, so you can't inflate any gzip file with an original filename (or comment) in the header. This is related to the /* fix me */ mentioned in perlio.c. Hopefully it will be soon. 0.09 Sat Apr 21 16:14:54 BST 2001 The perlio.c layer API has changed by the 5.7.1 release. 0.08 and earlier won't compile - 0.09 mainly consists of necessary changes to function prototypes and the layer struct. 5.7.1 contains a known bug - when opening a file with layers specified, failure of a layer to push is supposed to cause the open to fail. In 5.7.0 it did. In 5.7.1 it doesn't. Commented the tests that will fail due to this bug. Attempted to detect the "OS" type at compile time to set the default OS for the gzip header.