From: H.Merijn Brand <[mailto:h.m.brand@xs4all.nl]> Date: Sun, 3 May 2009 18:53:16 +0000 (+0100) Subject: RE: [PATCH] compress 2.018 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ea6efd2c816aee1bf9f4bfc59f5bf6b604e59cc2;p=p5sagit%2Fp5-mst-13.2.git RE: [PATCH] compress 2.018 > On Sun, 3 May 2009 17:30:27 +0100, "Paul Marquess" > wrote: > > > A few fixes for the compression modules. > > Where? Enclosed Paul From 389fe95522cdfda81bff0fde92dc66ef9c275bd8 Mon Sep 17 00:00:00 2001 From: Paul Marquess Date: Sun, 3 May 2009 17:13:51 +0100 Subject: [PATCH] compress 2.018 Signed-off-by: H.Merijn Brand --- diff --git a/MANIFEST b/MANIFEST index 81796a5..583150c 100644 --- a/MANIFEST +++ b/MANIFEST @@ -158,6 +158,7 @@ ext/Compress-Raw-Bzip2/private/MakeUtil.pm ext/Compress-Raw-Bzip2/README ext/Compress-Raw-Bzip2/t/000prereq.t ext/Compress-Raw-Bzip2/t/01bzip2.t +ext/Compress-Raw-Bzip2/t/09limitoutput.t ext/Compress-Raw-Bzip2/t/99pod.t ext/Compress-Raw-Bzip2/typemap ext/Compress-Raw-Zlib/Changes Compress::Raw::Zlib @@ -174,6 +175,7 @@ ext/Compress-Raw-Zlib/README Compress::Raw::Zlib ext/Compress-Raw-Zlib/t/01version.t Compress::Raw::Zlib ext/Compress-Raw-Zlib/t/02zlib.t Compress::Raw::Zlib ext/Compress-Raw-Zlib/t/07bufsize.t Compress::Raw::Zlib +ext/Compress-Raw-Zlib/t/09limitoutput.t Compress::Raw::Zlib ext/Compress-Raw-Zlib/t/18lvalue.t Compress::Raw::Zlib ext/Compress-Raw-Zlib/typemap Compress::Raw::Zlib ext/Compress-Raw-Zlib/zlib-src/adler32.c Compress::Raw::Zlib diff --git a/ext/Compress-Raw-Bzip2/Bzip2.xs b/ext/Compress-Raw-Bzip2/Bzip2.xs index ba13ab2..f66e2ef 100644 --- a/ext/Compress-Raw-Bzip2/Bzip2.xs +++ b/ext/Compress-Raw-Bzip2/Bzip2.xs @@ -50,6 +50,7 @@ typedef struct di_stream { int flags ; #define FLAG_APPEND_OUTPUT 1 #define FLAG_CONSUME_INPUT 8 +#define FLAG_LIMIT_OUTPUT 16 bz_stream stream; uInt bufsize; int last_error ; @@ -182,7 +183,7 @@ DispStream(s, message) printf("DispStream 0x%p", s) ; if (message) - printf("- %s \n", message) ; + printf(" - %s \n", message) ; printf("\n") ; if (!s) { @@ -191,6 +192,7 @@ DispStream(s, message) else { printf(" stream 0x%p\n", &(s->stream)); printf(" opaque 0x%p\n", s->stream.opaque); + printf(" state 0x%p\n", s->stream.state ); printf(" next_in 0x%p", s->stream.next_in); if (s->stream.next_in){ printf(" =>"); @@ -208,9 +210,14 @@ DispStream(s, message) printf(" avail_in %lu\n", (unsigned long)s->stream.avail_in); printf(" avail_out %lu\n", (unsigned long)s->stream.avail_out); printf(" bufsize %lu\n", (unsigned long)s->bufsize); + printf(" total_in_lo32 %u\n", s->stream.total_in_lo32); + printf(" total_in_hi32 %u\n", s->stream.total_in_hi32); + printf(" total_out_lo32 %u\n", s->stream.total_out_lo32); + printf(" total_out_hi32 %u\n", s->stream.total_out_hi32); printf(" flags 0x%x\n", s->flags); printf(" APPEND %s\n", EnDis(FLAG_APPEND_OUTPUT)); printf(" CONSUME %s\n", EnDis(FLAG_CONSUME_INPUT)); + printf(" LIMIT %s\n", EnDis(FLAG_LIMIT_OUTPUT)); printf("\n"); @@ -408,12 +415,13 @@ new(className, appendOut=1, blockSize100k=1, workfactor=0, verbosity=0) MODULE = Compress::Raw::Bunzip2 PACKAGE = Compress::Raw::Bunzip2 void -new(className, appendOut=1 , consume=1, small=0, verbosity=0) +new(className, appendOut=1 , consume=1, small=0, verbosity=0, limitOutput=0) const char* className int appendOut int consume int small int verbosity + int limitOutput PPCODE: { int err = BZ_OK ; @@ -436,6 +444,8 @@ new(className, appendOut=1 , consume=1, small=0, verbosity=0) flags |= FLAG_APPEND_OUTPUT; if (consume) flags |= FLAG_CONSUME_INPUT; + if (limitOutput) + flags |= (FLAG_LIMIT_OUTPUT|FLAG_CONSUME_INPUT); PostInitStream(s, flags) ; } } @@ -723,7 +733,7 @@ bzinflate (s, buf, output) CODE: bufinc = s->bufsize; /* If the buffer is a reference, dereference it */ - buf = deRef(buf, "inflate") ; + buf = deRef(buf, "bzinflate") ; if (s->flags & FLAG_CONSUME_INPUT && SvREADONLY(buf)) croak(UNCOMPRESS_CLASS "::bzinflate input parameter cannot be read-only when ConsumeInput is specified"); @@ -737,7 +747,7 @@ bzinflate (s, buf, output) s->stream.avail_in = SvCUR(buf); /* and retrieve the output buffer */ - output = deRef_l(output, "inflate") ; + output = deRef_l(output, "bzinflate") ; #ifdef UTF8_AVAILABLE if (DO_UTF8(output)) out_utf8 = TRUE ; @@ -747,6 +757,34 @@ bzinflate (s, buf, output) if((s->flags & FLAG_APPEND_OUTPUT) != FLAG_APPEND_OUTPUT) { SvCUR_set(output, 0); } +#if 1 + /* Assume no output buffer - the code below will update if there is any available */ + s->stream.avail_out = 0; + + if (SvLEN(output)) { + prefix_length = cur_length = SvCUR(output) ; + + if (s->flags & FLAG_LIMIT_OUTPUT && SvLEN(output) - cur_length - 1 < bufinc) + { + Sv_Grow(output, bufinc + cur_length + 1) ; + } + + /* Only setup the stream output pointers if there is spare + capacity in the outout SV + */ + if (SvLEN(output) > cur_length + 1) + { + s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length; + increment = SvLEN(output) - cur_length - 1; + s->stream.avail_out = increment; + } + } + + s->bytesInflated = 0; + + RETVAL = BZ_OK; +#else + if (SvLEN(output)) { prefix_length = cur_length = SvCUR(output) ; s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length; @@ -757,12 +795,13 @@ bzinflate (s, buf, output) s->stream.avail_out = 0; } s->bytesInflated = 0; +#endif while (1) { if (s->stream.avail_out == 0) { /* out of space in the output buffer so make it bigger */ - Sv_Grow(output, SvLEN(output) + bufinc) ; + Sv_Grow(output, SvLEN(output) + bufinc + 1) ; cur_length += increment ; s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length ; increment = bufinc ; @@ -770,9 +809,11 @@ bzinflate (s, buf, output) bufinc *= 2 ; } + //DispStream(s, "pre"); RETVAL = BZ2_bzDecompress (&(s->stream)); - if (RETVAL != BZ_OK) + //DispStream(s, "apres"); + if (RETVAL != BZ_OK || s->flags & FLAG_LIMIT_OUTPUT) break ; if (s->stream.avail_out == 0) diff --git a/ext/Compress-Raw-Bzip2/Changes b/ext/Compress-Raw-Bzip2/Changes index 944eaaa..d9ff756 100644 --- a/ext/Compress-Raw-Bzip2/Changes +++ b/ext/Compress-Raw-Bzip2/Changes @@ -1,7 +1,9 @@ CHANGES ------- - 2.018 11 April 2009 + 2.018 3 May 2009 + + * added linitOutput option * Changes to bzip2 source to get the module to build using a C++ compiler diff --git a/ext/Compress-Raw-Bzip2/README b/ext/Compress-Raw-Bzip2/README index 9e70cd7..c80d6da 100644 --- a/ext/Compress-Raw-Bzip2/README +++ b/ext/Compress-Raw-Bzip2/README @@ -1,9 +1,9 @@ - Compress-Raw-Bzip2 + Compress-Raw-Bzip2 - Version 2.018 + Version 2.018 - 11th April 2009 + 3rd May 2009 Copyright (c) 2005-2009 Paul Marquess. All rights reserved. This program is free software; you can redistribute it @@ -16,6 +16,11 @@ Full source for the bzip2 library is available at http://www.bzip.org/ + Note that the files bzip2.c, bzip2recover.c, bzlib.c & decompress.c + have been modified to allow them to build with a C++ compiler. + The file bzip2-src/bzip2-cpp.patch contains the patch + that was used to modify the original source. + DESCRIPTION ----------- @@ -159,7 +164,7 @@ To help me help you, I need all of the following information: If you haven't installed Compress-Raw-Bzip2 then search Compress::Raw::Bzip2.pm for a line like this: - $VERSION = "2.017" ; + $VERSION = "2.018" ; c. The version of bzip2 you have used. If you have successfully installed Compress-Raw-Bzip2, this one-liner diff --git a/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm b/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm index fabaa2a..e0eda15 100644 --- a/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm +++ b/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm @@ -220,7 +220,7 @@ Returns C on success and a C error code on failure. =head1 Uncompression -=head2 ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small; +=head2 ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $limitOutput; If successful, it will return the initialised uncompression object, C<$z> and a C<$status> of C in a list context. In scalar context it @@ -253,6 +253,26 @@ To quote the bzip2 documentation Defaults to 0. +=item B<$limitOutput> + +The C option changes the behavior of the C<< $i->bzinflate >> +method so that the amount of memory used by the output buffer can be +limited. + +When C is used the size of the output buffer used will either +be the 16k or the amount of memory already allocated to C<$output>, +whichever is larger. Predicting the output size available is tricky, so +don't rely on getting an exact output buffer size. + +When C is not specified C<< $i->bzinflate >> will use as much +memory as it takes to write all the uncompressed data it creates by +uncompressing the input buffer. + +If C is enabled, the C option will also be +enabled. + +This option defaults to false. + =back =head2 $status = $z->bzinflate($input, $output); diff --git a/ext/Compress-Raw-Bzip2/t/000prereq.t b/ext/Compress-Raw-Bzip2/t/000prereq.t index b8dddca..0bbf312 100644 --- a/ext/Compress-Raw-Bzip2/t/000prereq.t +++ b/ext/Compress-Raw-Bzip2/t/000prereq.t @@ -19,7 +19,7 @@ BEGIN if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - my $VERSION = '2.017'; + my $VERSION = '2.018'; my @NAMES = qw( ); diff --git a/ext/Compress-Raw-Bzip2/t/09limitoutput.t b/ext/Compress-Raw-Bzip2/t/09limitoutput.t new file mode 100644 index 0000000..78e121a --- /dev/null +++ b/ext/Compress-Raw-Bzip2/t/09limitoutput.t @@ -0,0 +1,139 @@ +BEGIN { + if ($ENV{PERL_CORE}) { + chdir 't' if -d 't'; + @INC = ("../lib", "lib/compress"); + } +} + +use lib qw(t t/compress); +use strict; +use warnings; +use bytes; + +use Test::More ; +use CompTestUtils; + +BEGIN +{ + # use Test::NoWarnings, if available + my $extra = 0 ; + $extra = 1 + if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; + + plan tests => 88 + $extra ; + + use_ok('Compress::Raw::Bzip2') ; +} + + + +my $hello = "I am a HAL 9000 computer" x 2001; +my $tmp = $hello ; + +my ($err, $x, $X, $status); + +ok( ($x, $err) = new Compress::Raw::Bzip2 (1)); +ok $x ; +cmp_ok $err, '==', BZ_OK, " status is BZ_OK" ; + +my $out ; +$status = $x->bzdeflate($tmp, $out) ; +cmp_ok $status, '==', BZ_RUN_OK, " status is BZ_RUN_OK" ; + +cmp_ok $x->bzclose($out), '==', BZ_STREAM_END, " bzflush returned BZ_STREAM_END" ; + +{ + my $t = $out; + my $b = new Compress::Raw::Bunzip2(0,0); + + my $GOT; + my $status = $b->bzinflate($t, $GOT) ; + cmp_ok $status, "==", BZ_STREAM_END; + ok $GOT eq $hello; + +} + +sub getOut { my $x = ''; return \$x } + +for my $bufsize (1, 2, 3, 13, 4096, 1024*10) +{ + print "#\n#Bufsize $bufsize\n#\n"; + $tmp = $out; + + my $k; + ok(($k, $err) = new Compress::Raw::Bunzip2( 1,1,0,0,1 + #AppendOutput => 1, + #LimitOutput => 1, + #Bufsize => $bufsize + )); + ok $k ; + cmp_ok $err, '==', BZ_OK, " status is BZ_OK" ; + + is $k->total_in_lo32(), 0, " total_in_lo32 == 0" ; + is $k->total_out_lo32(), 0, " total_out_lo32 == 0" ; + my $GOT = getOut(); + my $prev; + my $deltaOK = 1; + my $looped = 0; + while (length $tmp) + { + ++ $looped; + my $prev = length $GOT; + $status = $k->bzinflate($tmp, $GOT) ; + last if $status != BZ_OK; + $deltaOK = 0 if length($GOT) - $prev > $bufsize; + } + + ok $deltaOK, " Output Delta never > $bufsize"; + cmp_ok $looped, '>=', 1, " looped $looped"; + is length($tmp), 0, " length of input buffer is zero"; + + cmp_ok $status, "==", BZ_STREAM_END, " status is BZ_STREAM_END" ; + ok $$GOT eq $hello, " got expected output" ; + is $k->total_in_lo32(), length $out, " length total_in_lo32 ok" ; + is $k->total_out_lo32(), length $hello, " length total_out_lo32 ok " . $k->total_out_lo32() ; +} + +sub getit +{ + my $obj = shift ; + my $input = shift; + + my $data ; + 1 while $obj->bzinflate($input, $data) != BZ_STREAM_END ; + return \$data ; +} + +{ + title "regression test"; + + my ($err, $x, $X, $status); + + ok( ($x, $err) = new Compress::Raw::Bzip2 (1)); + ok $x ; + cmp_ok $err, '==', BZ_OK, " status is BZ_OK" ; + + my $line1 = ("abcdefghijklmnopq" x 1000) . "\n" ; + my $line2 = "second line\n" ; + my $text = $line1 . $line2 ; + my $tmp = $text; + + my $out ; + $status = $x->bzdeflate($tmp, $out) ; + cmp_ok $status, '==', BZ_RUN_OK, " status is BZ_RUN_OK" ; + + cmp_ok $x->bzclose($out), '==', BZ_STREAM_END, " bzclose returned BZ_STREAM_END" ; + + my $k; + ok(($k, $err) = new Compress::Raw::Bunzip2( 1,1,0,0,1 + #AppendOutput => 1, + #LimitOutput => 1 + )); + + + my $c = getit($k, $out); + is $$c, $text; + + +} + diff --git a/ext/Compress-Raw-Zlib/Changes b/ext/Compress-Raw-Zlib/Changes index e8e989d..9d6a3ef 100644 --- a/ext/Compress-Raw-Zlib/Changes +++ b/ext/Compress-Raw-Zlib/Changes @@ -1,6 +1,10 @@ CHANGES ------- + 2.018 3 May 2009 + + * No Changes + 2.017 28 March 2009 * Added 'LimitOutput' option diff --git a/ext/Compress-Raw-Zlib/README b/ext/Compress-Raw-Zlib/README index 99ae85a..cf1eb1f 100644 --- a/ext/Compress-Raw-Zlib/README +++ b/ext/Compress-Raw-Zlib/README @@ -1,9 +1,9 @@ Compress-Raw-Zlib - Version 2.017 + Version 2.018 - 28th March 2009 + 3rd May 2009 Copyright (c) 2005-2009 Paul Marquess. All rights reserved. This program is free software; you can redistribute it @@ -355,7 +355,7 @@ To help me help you, I need all of the following information: If you haven't installed Compress-Raw-Zlib then search Compress::Raw::Zlib.pm for a line like this: - $VERSION = "2.017" ; + $VERSION = "2.018" ; c. The version of zlib you have used. If you have successfully installed Compress-Raw-Zlib, this one-liner diff --git a/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm b/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm index 308a878..423837c 100644 --- a/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm +++ b/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm @@ -13,7 +13,7 @@ use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD); -$VERSION = '2.017'; +$VERSION = '2.018'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; diff --git a/ext/Compress-Raw-Zlib/t/09limitoutput.t b/ext/Compress-Raw-Zlib/t/09limitoutput.t new file mode 100644 index 0000000..a98b18f --- /dev/null +++ b/ext/Compress-Raw-Zlib/t/09limitoutput.t @@ -0,0 +1,129 @@ +BEGIN { + if ($ENV{PERL_CORE}) { + chdir 't' if -d 't'; + @INC = ("../lib", "lib/compress"); + } +} + +use lib qw(t t/compress); +use strict; +use warnings; +use bytes; + +use Test::More ; +use CompTestUtils; + +BEGIN +{ + # use Test::NoWarnings, if available + my $extra = 0 ; + $extra = 1 + if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; + + plan tests => 98 + $extra ; + + use_ok('Compress::Raw::Zlib', 2) ; +} + + + +my $hello = "I am a HAL 9000 computer" x 2001; +my $tmp = $hello ; + +my ($err, $x, $X, $status); + +ok( ($x, $err) = new Compress::Raw::Zlib::Deflate (-AppendOutput => 1)); +ok $x ; +cmp_ok $err, '==', Z_OK, " status is Z_OK" ; + +my $out ; +$status = $x->deflate($tmp, $out) ; +cmp_ok $status, '==', Z_OK, " status is Z_OK" ; + +cmp_ok $x->flush($out), '==', Z_OK, " flush returned Z_OK" ; + + +sub getOut { my $x = ''; return \$x } + +for my $bufsize (1, 2, 3, 13, 4096, 1024*10) +{ + print "#\n#Bufsize $bufsize\n#\n"; + $tmp = $out; + + my $k; + ok(($k, $err) = new Compress::Raw::Zlib::Inflate( AppendOutput => 1, + LimitOutput => 1, + Bufsize => $bufsize + )); + ok $k ; + cmp_ok $err, '==', Z_OK, " status is Z_OK" ; + + ok ! defined $k->msg(), " no msg" ; + is $k->total_in(), 0, " total_in == 0" ; + is $k->total_out(), 0, " total_out == 0" ; + my $GOT = getOut(); + my $prev; + my $deltaOK = 1; + my $looped = 0; + while (length $tmp) + { + ++ $looped; + my $prev = length $GOT; + $status = $k->inflate($tmp, $GOT) ; + last if $status == Z_STREAM_END || $status == Z_DATA_ERROR || $status == Z_STREAM_ERROR ; + $deltaOK = 0 if length($GOT) - $prev > $bufsize; + } + + ok $deltaOK, " Output Delta never > $bufsize"; + cmp_ok $looped, '>=', 1, " looped $looped"; + is length($tmp), 0, " length of input buffer is zero"; + + cmp_ok $status, '==', Z_STREAM_END, " status is Z_STREAM_END" ; + is $$GOT, $hello, " got expected output" ; + ok ! defined $k->msg(), " no msg" ; + is $k->total_in(), length $out, " length total_in ok" ; + is $k->total_out(), length $hello, " length total_out ok " . $k->total_out() ; +} + +sub getit +{ + my $obj = shift ; + my $input = shift; + + my $data ; + 1 while $obj->inflate($input, $data) != Z_STREAM_END ; + return \$data ; +} + +{ + title "regression test"; + + my ($err, $x, $X, $status); + + ok( ($x, $err) = new Compress::Raw::Zlib::Deflate (-AppendOutput => 1)); + ok $x ; + cmp_ok $err, '==', Z_OK, " status is Z_OK" ; + + my $line1 = ("abcdefghijklmnopq" x 1000) . "\n" ; + my $line2 = "second line\n" ; + my $text = $line1 . $line2 ; + my $tmp = $text; + + my $out ; + $status = $x->deflate($tmp, $out) ; + cmp_ok $status, '==', Z_OK, " status is Z_OK" ; + + cmp_ok $x->flush($out), '==', Z_OK, " flush returned Z_OK" ; + + my $k; + ok(($k, $err) = new Compress::Raw::Zlib::Inflate( AppendOutput => 1, + LimitOutput => 1 + )); + + + my $c = getit($k, $out); + is $$c, $text; + + +} + diff --git a/ext/IO-Compress/Changes b/ext/IO-Compress/Changes index 8faec2a..5793994 100644 --- a/ext/IO-Compress/Changes +++ b/ext/IO-Compress/Changes @@ -1,6 +1,19 @@ CHANGES ------- + 2.018 3 May 2009 + + * IO::Unompress::Bunzip2 + - The interface to Compress-Raw-Bzip2 now uses the new LimitOutput + feature. This will make all of the bzip2-related IO-Compress modules + less greedy in their memory consumption. + + * IO::Compress::Zip + - Fixed exTime & exUnix2 + + - Fixed 'Use of uninitialized value in pack' warning when using + ZIP_CM_STORE. + 2.017 30 March 2009 * Merged IO-Compress-Base, IO-Compress-Bzip2, IO-Compress-Zlib & diff --git a/ext/IO-Compress/Makefile.PL b/ext/IO-Compress/Makefile.PL index e11cf8f..d8f691c 100644 --- a/ext/IO-Compress/Makefile.PL +++ b/ext/IO-Compress/Makefile.PL @@ -3,7 +3,7 @@ use strict ; require 5.004 ; -$::VERSION = '2.017' ; +$::VERSION = '2.018' ; use private::MakeUtil; use ExtUtils::MakeMaker 5.16 ; diff --git a/ext/IO-Compress/README b/ext/IO-Compress/README index 6f283b3..1de4424 100644 --- a/ext/IO-Compress/README +++ b/ext/IO-Compress/README @@ -1,9 +1,9 @@ - IO-Compress + IO-Compress - Version 2.017 + Version 2.018 - 28th March 2009 + 3rd May 2009 Copyright (c) 1995-2009 Paul Marquess. All rights reserved. This program is free software; you can redistribute it @@ -89,7 +89,7 @@ To help me help you, I need all of the following information: If you haven't installed IO-Compress then search IO::Compress::Gzip.pm for a line like this: - $VERSION = "2.017" ; + $VERSION = "2.018" ; 2. If you are having problems building IO-Compress, send me a complete log of what happened. Start by unpacking the IO-Compress diff --git a/ext/IO-Compress/lib/Compress/Zlib.pm b/ext/IO-Compress/lib/Compress/Zlib.pm index a957752..6d002c5 100644 --- a/ext/IO-Compress/lib/Compress/Zlib.pm +++ b/ext/IO-Compress/lib/Compress/Zlib.pm @@ -8,17 +8,17 @@ use Carp ; use IO::Handle ; use Scalar::Util qw(dualvar); -use IO::Compress::Base::Common 2.017 ; -use Compress::Raw::Zlib 2.017 ; -use IO::Compress::Gzip 2.017 ; -use IO::Uncompress::Gunzip 2.017 ; +use IO::Compress::Base::Common 2.018 ; +use Compress::Raw::Zlib 2.018 ; +use IO::Compress::Gzip 2.018 ; +use IO::Uncompress::Gunzip 2.018 ; use strict ; use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD); -$VERSION = '2.017'; +$VERSION = '2.018'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -452,7 +452,7 @@ sub inflate package Compress::Zlib ; -use IO::Compress::Gzip::Constants 2.017 ; +use IO::Compress::Gzip::Constants 2.018 ; sub memGzip($) { diff --git a/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm b/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm index ca650c6..1a6fef6 100644 --- a/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm +++ b/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm @@ -4,13 +4,13 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status); +use IO::Compress::Base::Common 2.018 qw(:Status); #use Compress::Bzip2 ; -use Compress::Raw::Bzip2 2.017 ; +use Compress::Raw::Bzip2 2.018 ; our ($VERSION); -$VERSION = '2.017'; +$VERSION = '2.018'; sub mkCompObject { diff --git a/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm b/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm index bbd0ed5..cb852bb 100644 --- a/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm +++ b/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status); +use IO::Compress::Base::Common 2.018 qw(:Status); -use Compress::Raw::Zlib 2.017 qw(Z_OK Z_FINISH MAX_WBITS) ; +use Compress::Raw::Zlib 2.018 qw(Z_OK Z_FINISH MAX_WBITS) ; our ($VERSION); -$VERSION = '2.017'; +$VERSION = '2.018'; sub mkCompObject { diff --git a/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm b/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm index e6f33a3..f3a34fc 100644 --- a/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm +++ b/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm @@ -4,10 +4,10 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status); +use IO::Compress::Base::Common 2.018 qw(:Status); our ($VERSION); -$VERSION = '2.017'; +$VERSION = '2.018'; sub mkCompObject { diff --git a/ext/IO-Compress/lib/IO/Compress/Base.pm b/ext/IO-Compress/lib/IO/Compress/Base.pm index 7d00bec..77af43a 100644 --- a/ext/IO-Compress/lib/IO/Compress/Base.pm +++ b/ext/IO-Compress/lib/IO/Compress/Base.pm @@ -6,7 +6,7 @@ require 5.004 ; use strict ; use warnings; -use IO::Compress::Base::Common 2.017 ; +use IO::Compress::Base::Common 2.018 ; use IO::File ; use Scalar::Util qw(blessed readonly); @@ -20,7 +20,7 @@ use bytes; our (@ISA, $VERSION); @ISA = qw(Exporter IO::File); -$VERSION = '2.017'; +$VERSION = '2.018'; #Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16. diff --git a/ext/IO-Compress/lib/IO/Compress/Base/Common.pm b/ext/IO-Compress/lib/IO/Compress/Base/Common.pm index 756cf4b..2c19ce5 100644 --- a/ext/IO-Compress/lib/IO/Compress/Base/Common.pm +++ b/ext/IO-Compress/lib/IO/Compress/Base/Common.pm @@ -11,7 +11,7 @@ use File::GlobMapper; require Exporter; our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE); @ISA = qw(Exporter); -$VERSION = '2.017'; +$VERSION = '2.018'; @EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput isaFileGlobString cleanFileGlobString oneTarget diff --git a/ext/IO-Compress/lib/IO/Compress/Bzip2.pm b/ext/IO-Compress/lib/IO/Compress/Bzip2.pm index 144b978..9dfed05 100644 --- a/ext/IO-Compress/lib/IO/Compress/Bzip2.pm +++ b/ext/IO-Compress/lib/IO/Compress/Bzip2.pm @@ -5,16 +5,16 @@ use warnings; use bytes; require Exporter ; -use IO::Compress::Base 2.017 ; +use IO::Compress::Base 2.018 ; -use IO::Compress::Base::Common 2.017 qw(createSelfTiedObject); -use IO::Compress::Adapter::Bzip2 2.017 ; +use IO::Compress::Base::Common 2.018 qw(createSelfTiedObject); +use IO::Compress::Adapter::Bzip2 2.018 ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error); -$VERSION = '2.017'; +$VERSION = '2.018'; $Bzip2Error = ''; @ISA = qw(Exporter IO::Compress::Base); @@ -51,7 +51,7 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.017 qw(:Parse); + use IO::Compress::Base::Common 2.018 qw(:Parse); return ( 'BlockSize100K' => [0, 1, Parse_unsigned, 1], diff --git a/ext/IO-Compress/lib/IO/Compress/Deflate.pm b/ext/IO-Compress/lib/IO/Compress/Deflate.pm index 05466f3..60a79d9 100644 --- a/ext/IO-Compress/lib/IO/Compress/Deflate.pm +++ b/ext/IO-Compress/lib/IO/Compress/Deflate.pm @@ -6,16 +6,16 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.017 ; +use IO::Compress::RawDeflate 2.018 ; -use Compress::Raw::Zlib 2.017 ; -use IO::Compress::Zlib::Constants 2.017 ; -use IO::Compress::Base::Common 2.017 qw(createSelfTiedObject); +use Compress::Raw::Zlib 2.018 ; +use IO::Compress::Zlib::Constants 2.018 ; +use IO::Compress::Base::Common 2.018 qw(createSelfTiedObject); our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError); -$VERSION = '2.017'; +$VERSION = '2.018'; $DeflateError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/ext/IO-Compress/lib/IO/Compress/Gzip.pm b/ext/IO-Compress/lib/IO/Compress/Gzip.pm index cbdc985..45e0100 100644 --- a/ext/IO-Compress/lib/IO/Compress/Gzip.pm +++ b/ext/IO-Compress/lib/IO/Compress/Gzip.pm @@ -8,12 +8,12 @@ use warnings; use bytes; -use IO::Compress::RawDeflate 2.017 ; +use IO::Compress::RawDeflate 2.018 ; -use Compress::Raw::Zlib 2.017 ; -use IO::Compress::Base::Common 2.017 qw(:Status :Parse createSelfTiedObject); -use IO::Compress::Gzip::Constants 2.017 ; -use IO::Compress::Zlib::Extra 2.017 ; +use Compress::Raw::Zlib 2.018 ; +use IO::Compress::Base::Common 2.018 qw(:Status :Parse createSelfTiedObject); +use IO::Compress::Gzip::Constants 2.018 ; +use IO::Compress::Zlib::Extra 2.018 ; BEGIN { @@ -27,7 +27,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError); -$VERSION = '2.017'; +$VERSION = '2.018'; $GzipError = '' ; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm b/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm index 9353fd9..5db5323 100644 --- a/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm +++ b/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names); our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE); -$VERSION = '2.017'; +$VERSION = '2.018'; @ISA = qw(Exporter); diff --git a/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm b/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm index 6daed65..450e96d 100644 --- a/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm +++ b/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm @@ -7,16 +7,16 @@ use warnings; use bytes; -use IO::Compress::Base 2.017 ; -use IO::Compress::Base::Common 2.017 qw(:Status createSelfTiedObject); -use IO::Compress::Adapter::Deflate 2.017 ; +use IO::Compress::Base 2.018 ; +use IO::Compress::Base::Common 2.018 qw(:Status createSelfTiedObject); +use IO::Compress::Adapter::Deflate 2.018 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); -$VERSION = '2.017'; +$VERSION = '2.018'; $RawDeflateError = ''; @ISA = qw(Exporter IO::Compress::Base); @@ -142,8 +142,8 @@ sub getZlibParams { my $self = shift ; - use IO::Compress::Base::Common 2.017 qw(:Parse); - use Compress::Raw::Zlib 2.017 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); + use IO::Compress::Base::Common 2.018 qw(:Parse); + use Compress::Raw::Zlib 2.018 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); return ( diff --git a/ext/IO-Compress/lib/IO/Compress/Zip.pm b/ext/IO-Compress/lib/IO/Compress/Zip.pm index 35a968f..552b26f 100644 --- a/ext/IO-Compress/lib/IO/Compress/Zip.pm +++ b/ext/IO-Compress/lib/IO/Compress/Zip.pm @@ -4,26 +4,26 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status createSelfTiedObject); -use IO::Compress::RawDeflate 2.017 ; -use IO::Compress::Adapter::Deflate 2.017 ; -use IO::Compress::Adapter::Identity 2.017 ; -use IO::Compress::Zlib::Extra 2.017 ; -use IO::Compress::Zip::Constants 2.017 ; +use IO::Compress::Base::Common 2.018 qw(:Status createSelfTiedObject); +use IO::Compress::RawDeflate 2.018 ; +use IO::Compress::Adapter::Deflate 2.018 ; +use IO::Compress::Adapter::Identity 2.018 ; +use IO::Compress::Zlib::Extra 2.018 ; +use IO::Compress::Zip::Constants 2.018 ; -use Compress::Raw::Zlib 2.017 qw(crc32) ; +use Compress::Raw::Zlib 2.018 qw(crc32) ; BEGIN { eval { require IO::Compress::Adapter::Bzip2 ; - import IO::Compress::Adapter::Bzip2 2.017 ; + import IO::Compress::Adapter::Bzip2 2.018 ; require IO::Compress::Bzip2 ; - import IO::Compress::Bzip2 2.017 ; + import IO::Compress::Bzip2 2.018 ; } ; # eval { require IO::Compress::Adapter::Lzma ; -# import IO::Compress::Adapter::Lzma 2.017 ; +# import IO::Compress::Adapter::Lzma 2.018 ; # require IO::Compress::Lzma ; -# import IO::Compress::Lzma 2.017 ; +# import IO::Compress::Lzma 2.018 ; # } ; } @@ -32,7 +32,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError); -$VERSION = '2.017'; +$VERSION = '2.018'; $ZipError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); @@ -71,6 +71,7 @@ sub mkComp $got->value('Level'), $got->value('Strategy') ); + *$self->{ZipData}{CRC32} = crc32(undef); } elsif (*$self->{ZipData}{Method} == ZIP_CM_DEFLATE) { ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject( @@ -390,7 +391,7 @@ sub ckParams $got->value('Time' => time) ; } - if (! $got->parsed('exTime') ) { + if ($got->parsed('exTime') ) { my $timeRef = $got->value('exTime'); if ( defined $timeRef) { return $self->saveErrorString(undef, "exTime not a 3-element array ref") @@ -403,7 +404,7 @@ sub ckParams } # Unix2 Extended Attribute - if (! $got->parsed('exUnix2') ) { + if ($got->parsed('exUnix2') ) { my $timeRef = $got->value('exUnix2'); if ( defined $timeRef) { return $self->saveErrorString(undef, "exUnix2 not a 2-element array ref") @@ -466,8 +467,8 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.017 qw(:Parse); - use Compress::Raw::Zlib 2.017 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); + use IO::Compress::Base::Common 2.018 qw(:Parse); + use Compress::Raw::Zlib 2.018 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); my @Bzip2 = (); @@ -528,6 +529,7 @@ sub getFileInfo $params->value('MTime' => $mtime) ; $params->value('ATime' => $atime) ; $params->value('CTime' => undef) ; # No Creation time + $params->value("exTime", [$mtime, $atime, undef]); } # NOTE - Unix specific code alert diff --git a/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm b/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm index 201c6ac..2581a66 100644 --- a/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm +++ b/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm @@ -7,7 +7,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS); -$VERSION = '2.017'; +$VERSION = '2.018'; @ISA = qw(Exporter); @@ -38,6 +38,8 @@ $VERSION = '2.017'; ZIP_EXTRA_ID_ZIP64 ZIP_EXTRA_ID_EXT_TIMESTAMP ZIP_EXTRA_ID_INFO_ZIP_UNIX2 + ZIP_EXTRA_ID_INFO_ZIP_UNIXn + ZIP_EXTRA_ID_JAVA_EXE ZIP_OS_CODE_UNIX ZIP_OS_CODE_DEFAULT diff --git a/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm b/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm index fcf2470..41902f5 100644 --- a/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm +++ b/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT); -$VERSION = '2.017'; +$VERSION = '2.018'; @ISA = qw(Exporter); diff --git a/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm b/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm index 7dd4f02..2772176 100644 --- a/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm +++ b/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm @@ -8,9 +8,9 @@ use bytes; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.017'; +$VERSION = '2.018'; -use IO::Compress::Gzip::Constants 2.017 ; +use IO::Compress::Gzip::Constants 2.018 ; sub ExtraFieldError { diff --git a/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm b/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm index 802afce..e01c9af 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm @@ -4,13 +4,13 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status); +use IO::Compress::Base::Common 2.018 qw(:Status); #use Compress::Bzip2 ; -use Compress::Raw::Bzip2 2.017 ; +use Compress::Raw::Bzip2 2.018 ; our ($VERSION, @ISA); -$VERSION = '2.017'; +$VERSION = '2.018'; #@ISA = qw( Compress::Raw::Bunzip2 ); @@ -22,7 +22,7 @@ sub mkUncompObject #my ($inflate, $status) = bzinflateInit; #Small => $params->value('Small'); - my ($inflate, $status) = new Compress::Raw::Bunzip2(1, 1, $small, $verbosity); + my ($inflate, $status) = new Compress::Raw::Bunzip2(1, 1, $small, $verbosity, 1); return (undef, "Could not create Inflation object: $status", $status) if $status != BZ_OK ; diff --git a/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm b/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm index 887f7d2..2d979ff 100755 --- a/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm @@ -4,13 +4,13 @@ use warnings; use strict; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status); +use IO::Compress::Base::Common 2.018 qw(:Status); our ($VERSION); -$VERSION = '2.017'; +$VERSION = '2.018'; -use Compress::Raw::Zlib 2.017 (); +use Compress::Raw::Zlib 2.018 (); sub mkUncompObject { diff --git a/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm b/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm index 3758b58..5ffeab3 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm @@ -4,11 +4,11 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status); -use Compress::Raw::Zlib 2.017 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); +use IO::Compress::Base::Common 2.018 qw(:Status); +use Compress::Raw::Zlib 2.018 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); our ($VERSION); -$VERSION = '2.017'; +$VERSION = '2.018'; diff --git a/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm b/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm index 577a5de..c00f508 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm @@ -6,22 +6,22 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(createSelfTiedObject); +use IO::Compress::Base::Common 2.018 qw(createSelfTiedObject); -use IO::Uncompress::Adapter::Inflate 2.017 (); +use IO::Uncompress::Adapter::Inflate 2.018 (); -use IO::Uncompress::Base 2.017 ; -use IO::Uncompress::Gunzip 2.017 ; -use IO::Uncompress::Inflate 2.017 ; -use IO::Uncompress::RawInflate 2.017 ; -use IO::Uncompress::Unzip 2.017 ; +use IO::Uncompress::Base 2.018 ; +use IO::Uncompress::Gunzip 2.018 ; +use IO::Uncompress::Inflate 2.018 ; +use IO::Uncompress::RawInflate 2.018 ; +use IO::Uncompress::Unzip 2.018 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError); -$VERSION = '2.017'; +$VERSION = '2.018'; $AnyInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -48,7 +48,7 @@ sub anyinflate sub getExtraParams { - use IO::Compress::Base::Common 2.017 qw(:Parse); + use IO::Compress::Base::Common 2.018 qw(:Parse); return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm b/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm index 088fd9d..85fffea 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm @@ -4,16 +4,16 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(createSelfTiedObject); +use IO::Compress::Base::Common 2.018 qw(createSelfTiedObject); -use IO::Uncompress::Base 2.017 ; +use IO::Uncompress::Base 2.018 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError); -$VERSION = '2.017'; +$VERSION = '2.018'; $AnyUncompressError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -27,20 +27,20 @@ Exporter::export_ok_tags('all'); BEGIN { - eval ' use IO::Uncompress::Adapter::Inflate 2.017 ;'; - eval ' use IO::Uncompress::Adapter::Bunzip2 2.017 ;'; - eval ' use IO::Uncompress::Adapter::LZO 2.017 ;'; - eval ' use IO::Uncompress::Adapter::Lzf 2.017 ;'; - #eval ' use IO::Uncompress::Adapter::UnLzma 2.017 ;'; - - eval ' use IO::Uncompress::Bunzip2 2.017 ;'; - eval ' use IO::Uncompress::UnLzop 2.017 ;'; - eval ' use IO::Uncompress::Gunzip 2.017 ;'; - eval ' use IO::Uncompress::Inflate 2.017 ;'; - eval ' use IO::Uncompress::RawInflate 2.017 ;'; - eval ' use IO::Uncompress::Unzip 2.017 ;'; - eval ' use IO::Uncompress::UnLzf 2.017 ;'; - #eval ' use IO::Uncompress::UnLzma 2.017 ;'; + eval ' use IO::Uncompress::Adapter::Inflate 2.018 ;'; + eval ' use IO::Uncompress::Adapter::Bunzip2 2.018 ;'; + eval ' use IO::Uncompress::Adapter::LZO 2.018 ;'; + eval ' use IO::Uncompress::Adapter::Lzf 2.018 ;'; + #eval ' use IO::Uncompress::Adapter::UnLzma 2.018 ;'; + + eval ' use IO::Uncompress::Bunzip2 2.018 ;'; + eval ' use IO::Uncompress::UnLzop 2.018 ;'; + eval ' use IO::Uncompress::Gunzip 2.018 ;'; + eval ' use IO::Uncompress::Inflate 2.018 ;'; + eval ' use IO::Uncompress::RawInflate 2.018 ;'; + eval ' use IO::Uncompress::Unzip 2.018 ;'; + eval ' use IO::Uncompress::UnLzf 2.018 ;'; + #eval ' use IO::Uncompress::UnLzma 2.018 ;'; } sub new @@ -58,7 +58,7 @@ sub anyuncompress sub getExtraParams { - use IO::Compress::Base::Common 2.017 qw(:Parse); + use IO::Compress::Base::Common 2.018 qw(:Parse); return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/ext/IO-Compress/lib/IO/Uncompress/Base.pm b/ext/IO-Compress/lib/IO/Uncompress/Base.pm index 09e440e..2cef240 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/Base.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Base.pm @@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(Exporter IO::File); -$VERSION = '2.017'; +$VERSION = '2.018'; use constant G_EOF => 0 ; use constant G_ERR => -1 ; -use IO::Compress::Base::Common 2.017 ; +use IO::Compress::Base::Common 2.018 ; #use Parse::Parameters ; use IO::File ; diff --git a/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm b/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm index 0162ad6..81c2319 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm @@ -4,15 +4,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status createSelfTiedObject); +use IO::Compress::Base::Common 2.018 qw(:Status createSelfTiedObject); -use IO::Uncompress::Base 2.017 ; -use IO::Uncompress::Adapter::Bunzip2 2.017 ; +use IO::Uncompress::Base 2.018 ; +use IO::Uncompress::Adapter::Bunzip2 2.018 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error); -$VERSION = '2.017'; +$VERSION = '2.018'; $Bunzip2Error = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -40,7 +40,7 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.017 qw(:Parse); + use IO::Compress::Base::Common 2.018 qw(:Parse); return ( 'Verbosity' => [1, 1, Parse_boolean, 0], diff --git a/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm b/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm index 6f738cf..d98a216 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm @@ -9,12 +9,12 @@ use strict ; use warnings; use bytes; -use IO::Uncompress::RawInflate 2.017 ; +use IO::Uncompress::RawInflate 2.018 ; -use Compress::Raw::Zlib 2.017 qw( crc32 ) ; -use IO::Compress::Base::Common 2.017 qw(:Status createSelfTiedObject); -use IO::Compress::Gzip::Constants 2.017 ; -use IO::Compress::Zlib::Extra 2.017 ; +use Compress::Raw::Zlib 2.018 qw( crc32 ) ; +use IO::Compress::Base::Common 2.018 qw(:Status createSelfTiedObject); +use IO::Compress::Gzip::Constants 2.018 ; +use IO::Compress::Zlib::Extra 2.018 ; require Exporter ; @@ -28,7 +28,7 @@ Exporter::export_ok_tags('all'); $GunzipError = ''; -$VERSION = '2.017'; +$VERSION = '2.018'; sub new { @@ -47,7 +47,7 @@ sub gunzip sub getExtraParams { - use IO::Compress::Base::Common 2.017 qw(:Parse); + use IO::Compress::Base::Common 2.018 qw(:Parse); return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm b/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm index 21e9ec4..65842f9 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm @@ -5,15 +5,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.017 qw(:Status createSelfTiedObject); -use IO::Compress::Zlib::Constants 2.017 ; +use IO::Compress::Base::Common 2.018 qw(:Status createSelfTiedObject); +use IO::Compress::Zlib::Constants 2.018 ; -use IO::Uncompress::RawInflate 2.017 ; +use IO::Uncompress::RawInflate 2.018 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError); -$VERSION = '2.017'; +$VERSION = '2.018'; $InflateError = ''; @ISA = qw( Exporter IO::Uncompress::RawInflate ); diff --git a/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm b/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm index 2c9f9b7..1115724 100755 --- a/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm @@ -5,16 +5,16 @@ use strict ; use warnings; use bytes; -use Compress::Raw::Zlib 2.017 ; -use IO::Compress::Base::Common 2.017 qw(:Status createSelfTiedObject); +use Compress::Raw::Zlib 2.018 ; +use IO::Compress::Base::Common 2.018 qw(:Status createSelfTiedObject); -use IO::Uncompress::Base 2.017 ; -use IO::Uncompress::Adapter::Inflate 2.017 ; +use IO::Uncompress::Base 2.018 ; +use IO::Uncompress::Adapter::Inflate 2.018 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError); -$VERSION = '2.017'; +$VERSION = '2.018'; $RawInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); diff --git a/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm b/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm index 45ef3b5..b74a32a 100644 --- a/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm +++ b/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm @@ -8,14 +8,14 @@ use strict ; use warnings; use bytes; -use IO::Uncompress::RawInflate 2.017 ; -use IO::Compress::Base::Common 2.017 qw(:Status createSelfTiedObject); -use IO::Uncompress::Adapter::Inflate 2.017 ; -use IO::Uncompress::Adapter::Identity 2.017 ; -use IO::Compress::Zlib::Extra 2.017 ; -use IO::Compress::Zip::Constants 2.017 ; +use IO::Uncompress::RawInflate 2.018 ; +use IO::Compress::Base::Common 2.018 qw(:Status createSelfTiedObject); +use IO::Uncompress::Adapter::Inflate 2.018 ; +use IO::Uncompress::Adapter::Identity 2.018 ; +use IO::Compress::Zlib::Extra 2.018 ; +use IO::Compress::Zip::Constants 2.018 ; -use Compress::Raw::Zlib 2.017 qw(crc32) ; +use Compress::Raw::Zlib 2.018 qw(crc32) ; BEGIN { @@ -30,7 +30,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup); -$VERSION = '2.017'; +$VERSION = '2.018'; $UnzipError = ''; @ISA = qw(Exporter IO::Uncompress::RawInflate); @@ -63,7 +63,7 @@ sub unzip sub getExtraParams { - use IO::Compress::Base::Common 2.017 qw(:Parse); + use IO::Compress::Base::Common 2.018 qw(:Parse); return ( diff --git a/ext/IO-Compress/t/000prereq.t b/ext/IO-Compress/t/000prereq.t index c56e7bd..e5ec181 100644 --- a/ext/IO-Compress/t/000prereq.t +++ b/ext/IO-Compress/t/000prereq.t @@ -19,7 +19,7 @@ BEGIN if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - my $VERSION = '2.017'; + my $VERSION = '2.018'; my @NAMES = qw( Compress::Raw::Bzip2 Compress::Raw::Zlib diff --git a/ext/IO-Compress/t/101truncate-zip.t b/ext/IO-Compress/t/101truncate-zip.t index 719da36..0bc2c10 100644 --- a/ext/IO-Compress/t/101truncate-zip.t +++ b/ext/IO-Compress/t/101truncate-zip.t @@ -18,7 +18,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 2316 + $extra; + plan tests => 2404 + $extra; };