diff options
author | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2019-01-17 18:08:33 +0000 |
---|---|---|
committer | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2019-01-17 18:08:33 +0000 |
commit | 0c5ce8df8591552238619c3fee035fed0b46e923 (patch) | |
tree | 3dca3aa30612ed06d4675e80eec51ccc78de3209 /cpan/IO-Compress | |
parent | 742efbc0836f30c015626fc3f34e7f8b4c1c8e5a (diff) | |
download | perl-0c5ce8df8591552238619c3fee035fed0b46e923.tar.gz |
Update IO-Compress to CPAN version 2.084
[DELTA]
2.084 5 January 2019
* IO::Uncompress::AnyUncompress.pm
Added support for IO::Uncompress::Zstd and IO::Uncompress::UnLzip
2.083 30 December 2018
* IO::Compress::*
* IO::Uncompress::*
The BinModeIn and BinModeOut options in are now no-ops.
ALL files will be read/written in binmode.
* IO::Uncompress::Unzip
Fixed issue with unziping a member from a streamed zip file.
Issue triggered by a libreoffice document.
Test added to 105oneshot-zip-only.t
Thanks to Fabrizio Pivari for the bug report.
* Added U64::isZero
* bin/zipdetails
Added 'Data Stream Alignment' (tag 0xa11e) to extra fields.
Field sourced from https://support.pkware.com/display/PKZIP/Proposed+ZIP+Format+Specification+Additions
* Compress::Zlib.pm
#125140: Tiny POD error in Compress::Zlib
Diffstat (limited to 'cpan/IO-Compress')
43 files changed, 402 insertions, 260 deletions
diff --git a/cpan/IO-Compress/Makefile.PL b/cpan/IO-Compress/Makefile.PL index 7ecefeb1de..ca8cce49a2 100644 --- a/cpan/IO-Compress/Makefile.PL +++ b/cpan/IO-Compress/Makefile.PL @@ -3,7 +3,7 @@ use strict ; require 5.006 ; -$::VERSION = '2.081' ; +$::VERSION = '2.084' ; use lib '.'; use private::MakeUtil; diff --git a/cpan/IO-Compress/bin/zipdetails b/cpan/IO-Compress/bin/zipdetails index fb5ceab21f..ac647b398a 100644 --- a/cpan/IO-Compress/bin/zipdetails +++ b/cpan/IO-Compress/bin/zipdetails @@ -173,13 +173,14 @@ my %Extras = ( 0x7855, ['Unix Extra type 2', \&decode_Ux], 0x7875, ['Unix Extra Type 3', \&decode_ux], 0x9901, ['AES Encryption', \&decode_AES], + 0xa11e, ['Data Stream Alignment', undef], 0xA220, ['Open Packaging Growth Hint', undef ], 0xCAFE, ['Java Executable', \&decode_Java_exe], 0xfb4a, ['SMS/QDOS', undef], ); -my $VERSION = "1.08" ; +my $VERSION = "1.09" ; my $FH; diff --git a/cpan/IO-Compress/lib/Compress/Zlib.pm b/cpan/IO-Compress/lib/Compress/Zlib.pm index 36b224f526..ce79d7d113 100644 --- a/cpan/IO-Compress/lib/Compress/Zlib.pm +++ b/cpan/IO-Compress/lib/Compress/Zlib.pm @@ -7,17 +7,17 @@ use Carp ; use IO::Handle ; use Scalar::Util qw(dualvar); -use IO::Compress::Base::Common 2.081 ; -use Compress::Raw::Zlib 2.081 ; -use IO::Compress::Gzip 2.081 ; -use IO::Uncompress::Gunzip 2.081 ; +use IO::Compress::Base::Common 2.084 ; +use Compress::Raw::Zlib 2.084 ; +use IO::Compress::Gzip 2.084 ; +use IO::Uncompress::Gunzip 2.084 ; use strict ; use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.081'; +$VERSION = '2.084'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -461,7 +461,7 @@ sub inflate package Compress::Zlib ; -use IO::Compress::Gzip::Constants 2.081 ; +use IO::Compress::Gzip::Constants 2.084 ; sub memGzip($) { @@ -1161,7 +1161,7 @@ The default is Z_DEFAULT_STRATEGY. When a dictionary is specified I<Compress::Zlib> will automatically call C<deflateSetDictionary> directly after calling C<deflateInit>. The Adler32 value for the dictionary can be obtained by calling the method -C<$d->dict_adler()>. +C<< $d->dict_adler() >>. The default is no dictionary. @@ -1469,7 +1469,7 @@ of I<Compress::Zlib>. =head1 SEE ALSO -L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1500,7 +1500,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 1995-2018 Paul Marquess. All rights reserved. +Copyright (c) 1995-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm index 7b30c60138..623a2c671a 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status); +use IO::Compress::Base::Common 2.084 qw(:Status); -use Compress::Raw::Bzip2 2.081 ; +use Compress::Raw::Bzip2 2.084 ; our ($VERSION); -$VERSION = '2.081'; +$VERSION = '2.084'; sub mkCompObject { diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm index 463c0e1b15..8903287b10 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm @@ -4,13 +4,13 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status); -use Compress::Raw::Zlib 2.081 qw( !crc32 !adler32 ) ; +use IO::Compress::Base::Common 2.084 qw(:Status); +use Compress::Raw::Zlib 2.084 qw( !crc32 !adler32 ) ; require Exporter; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS); -$VERSION = '2.081'; +$VERSION = '2.084'; @ISA = qw(Exporter); @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS; %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS; diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm index 92bc093338..ae23102a24 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm @@ -4,10 +4,10 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status); +use IO::Compress::Base::Common 2.084 qw(:Status); our ($VERSION); -$VERSION = '2.081'; +$VERSION = '2.084'; sub mkCompObject { diff --git a/cpan/IO-Compress/lib/IO/Compress/Base.pm b/cpan/IO-Compress/lib/IO/Compress/Base.pm index 2f009966db..1e2a54ba39 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Base.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Base.pm @@ -6,7 +6,7 @@ require 5.006 ; use strict ; use warnings; -use IO::Compress::Base::Common 2.081 ; +use IO::Compress::Base::Common 2.084 ; use IO::File (); ; use Scalar::Util (); @@ -20,7 +20,7 @@ use Symbol(); our (@ISA, $VERSION); @ISA = qw(IO::File Exporter); -$VERSION = '2.081'; +$VERSION = '2.084'; #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. @@ -496,7 +496,7 @@ sub _wr2 $fh = new IO::File "<$input" or return $self->saveErrorString(undef, "cannot open file '$input': $!", $!) ; } - binmode $fh if *$self->{Got}->valueOrDefault('binmodein') ; + binmode $fh ; my $status ; my $buff ; @@ -797,6 +797,7 @@ sub _writeTrailer my $trailer = ''; my $status = *$self->{Compress}->close($trailer) ; + return $self->saveErrorString(0, *$self->{Compress}{Error}, *$self->{Compress}{ErrorNo}) if $status == STATUS_ERROR; @@ -805,7 +806,6 @@ sub _writeTrailer $trailer .= $self->mkTrailer(); defined $trailer or return 0; - return $self->output($trailer); } @@ -1023,7 +1023,7 @@ purpose is to be sub-classed by IO::Compress modules. =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1041,7 +1041,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm index bd260d5354..53232898c4 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm +++ b/cpan/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.081'; +$VERSION = '2.084'; @EXPORT = qw( isaFilehandle isaFilename isaScalar whatIsInput whatIsOutput @@ -977,6 +977,14 @@ sub equal $self->[HIGH] == $other->[HIGH] ; } +sub isZero +{ + my $self = shift; + + return $self->[LOW] == 0 && + $self->[HIGH] == 0 ; +} + sub gt { my $self = shift; diff --git a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm index 94a03f639e..1c0d027abd 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm @@ -5,16 +5,16 @@ use warnings; use bytes; require Exporter ; -use IO::Compress::Base 2.081 ; +use IO::Compress::Base 2.084 ; -use IO::Compress::Base::Common 2.081 qw(); -use IO::Compress::Adapter::Bzip2 2.081 ; +use IO::Compress::Base::Common 2.084 qw(); +use IO::Compress::Adapter::Bzip2 2.084 ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error); -$VERSION = '2.081'; +$VERSION = '2.084'; $Bzip2Error = ''; @ISA = qw(IO::Compress::Base Exporter); @@ -51,7 +51,7 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.081 qw(:Parse); + use IO::Compress::Base::Common 2.084 qw(:Parse); return ( 'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned, 1], @@ -338,9 +338,7 @@ This parameter defaults to 0. =item C<< BinModeIn => 0|1 >> -When reading from a file or filehandle, set C<binmode> before reading. - -Defaults to 0. +This option is now a no-op. All files will be read in binmode. =item C<< Append => 0|1 >> @@ -772,7 +770,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -794,7 +792,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm index 5e5c37c96a..1ca86c9331 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm @@ -8,16 +8,16 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.081 (); -use IO::Compress::Adapter::Deflate 2.081 ; +use IO::Compress::RawDeflate 2.084 (); +use IO::Compress::Adapter::Deflate 2.084 ; -use IO::Compress::Zlib::Constants 2.081 ; -use IO::Compress::Base::Common 2.081 qw(); +use IO::Compress::Zlib::Constants 2.084 ; +use IO::Compress::Base::Common 2.084 qw(); our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError); -$VERSION = '2.081'; +$VERSION = '2.084'; $DeflateError = ''; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -367,9 +367,7 @@ This parameter defaults to 0. =item C<< BinModeIn => 0|1 >> -When reading from a file or filehandle, set C<binmode> before reading. - -Defaults to 0. +This option is now a no-op. All files will be read in binmode. =item C<< Append => 0|1 >> @@ -896,7 +894,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -927,7 +925,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/FAQ.pod b/cpan/IO-Compress/lib/IO/Compress/FAQ.pod index cfd6ca38e0..1e66507aa2 100644 --- a/cpan/IO-Compress/lib/IO/Compress/FAQ.pod +++ b/cpan/IO-Compress/lib/IO/Compress/FAQ.pod @@ -658,7 +658,7 @@ file. =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -676,7 +676,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm index 53816871cf..5302011a20 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm @@ -8,12 +8,12 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.081 () ; -use IO::Compress::Adapter::Deflate 2.081 ; +use IO::Compress::RawDeflate 2.084 () ; +use IO::Compress::Adapter::Deflate 2.084 ; -use IO::Compress::Base::Common 2.081 qw(:Status ); -use IO::Compress::Gzip::Constants 2.081 ; -use IO::Compress::Zlib::Extra 2.081 ; +use IO::Compress::Base::Common 2.084 qw(:Status ); +use IO::Compress::Gzip::Constants 2.084 ; +use IO::Compress::Zlib::Extra 2.084 ; BEGIN { @@ -25,7 +25,7 @@ BEGIN our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError); -$VERSION = '2.081'; +$VERSION = '2.084'; $GzipError = '' ; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -485,9 +485,7 @@ This parameter defaults to 0. =item C<< BinModeIn => 0|1 >> -When reading from a file or filehandle, set C<binmode> before reading. - -Defaults to 0. +This option is now a no-op. All files will be read in binmode. =item C<< Append => 0|1 >> @@ -1208,7 +1206,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1239,7 +1237,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm index 733b1f7f1b..d1bd0c2bb2 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm +++ b/cpan/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.081'; +$VERSION = '2.084'; @ISA = qw(Exporter); diff --git a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm index 8bbafc0029..b2f38ff402 100644 --- a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm @@ -6,15 +6,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base 2.081 ; -use IO::Compress::Base::Common 2.081 qw(:Status ); -use IO::Compress::Adapter::Deflate 2.081 ; +use IO::Compress::Base 2.084 ; +use IO::Compress::Base::Common 2.084 qw(:Status ); +use IO::Compress::Adapter::Deflate 2.084 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); -$VERSION = '2.081'; +$VERSION = '2.084'; $RawDeflateError = ''; @ISA = qw(IO::Compress::Base Exporter); @@ -116,8 +116,8 @@ sub getExtraParams return getZlibParams(); } -use IO::Compress::Base::Common 2.081 qw(:Parse); -use Compress::Raw::Zlib 2.081 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); +use IO::Compress::Base::Common 2.084 qw(:Parse); +use Compress::Raw::Zlib 2.084 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); our %PARAMS = ( #'method' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFLATED], 'level' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_COMPRESSION], @@ -423,9 +423,7 @@ This parameter defaults to 0. =item C<< BinModeIn => 0|1 >> -When reading from a file or filehandle, set C<binmode> before reading. - -Defaults to 0. +This option is now a no-op. All files will be read in binmode. =item C<< Append => 0|1 >> @@ -952,7 +950,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -983,7 +981,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip.pm b/cpan/IO-Compress/lib/IO/Compress/Zip.pm index 16ba68944d..eabeef63e7 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zip.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zip.pm @@ -4,30 +4,30 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status ); -use IO::Compress::RawDeflate 2.081 (); -use IO::Compress::Adapter::Deflate 2.081 ; -use IO::Compress::Adapter::Identity 2.081 ; -use IO::Compress::Zlib::Extra 2.081 ; -use IO::Compress::Zip::Constants 2.081 ; +use IO::Compress::Base::Common 2.084 qw(:Status ); +use IO::Compress::RawDeflate 2.084 (); +use IO::Compress::Adapter::Deflate 2.084 ; +use IO::Compress::Adapter::Identity 2.084 ; +use IO::Compress::Zlib::Extra 2.084 ; +use IO::Compress::Zip::Constants 2.084 ; use File::Spec(); use Config; -use Compress::Raw::Zlib 2.081 (); +use Compress::Raw::Zlib 2.084 (); BEGIN { eval { require IO::Compress::Adapter::Bzip2 ; - import IO::Compress::Adapter::Bzip2 2.081 ; + import IO::Compress::Adapter::Bzip2 2.084 ; require IO::Compress::Bzip2 ; - import IO::Compress::Bzip2 2.081 ; + import IO::Compress::Bzip2 2.084 ; } ; eval { require IO::Compress::Adapter::Lzma ; - import IO::Compress::Adapter::Lzma 2.081 ; + import IO::Compress::Adapter::Lzma 2.084 ; require IO::Compress::Lzma ; - import IO::Compress::Lzma 2.081 ; + import IO::Compress::Lzma 2.084 ; } ; } @@ -36,7 +36,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError); -$VERSION = '2.081'; +$VERSION = '2.084'; $ZipError = ''; @ISA = qw(IO::Compress::RawDeflate Exporter); @@ -914,7 +914,7 @@ compressed data to files or buffer. The primary purpose of this module is to provide streaming write access to zip files and buffers. It is not a general-purpose file archiver. If that -is what you want, check out C<Archive::Zip>. +is what you want, check out C<Archive::Zip> or C<Archive::Zip::SimpleZip>. At present three compression methods are supported by IO::Compress::Zip, namely Store (no compression at all), Deflate, Bzip2 and LZMA. @@ -1081,9 +1081,7 @@ This parameter defaults to 0. =item C<< BinModeIn => 0|1 >> -When reading from a file or filehandle, set C<binmode> before reading. - -Defaults to 0. +This option is now a no-op. All files will be read in binmode. =item C<< Append => 0|1 >> @@ -1922,7 +1920,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1953,7 +1951,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm index 5cb7fc27a1..d28a6ae686 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm @@ -7,7 +7,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS); -$VERSION = '2.081'; +$VERSION = '2.084'; @ISA = qw(Exporter); diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm index eb2aec51dc..d0d053be95 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT); -$VERSION = '2.081'; +$VERSION = '2.084'; @ISA = qw(Exporter); diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm index 6b60c49f91..a88adba273 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm @@ -8,9 +8,9 @@ use bytes; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.081'; +$VERSION = '2.084'; -use IO::Compress::Gzip::Constants 2.081 ; +use IO::Compress::Gzip::Constants 2.084 ; sub ExtraFieldError { diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm index f0f24f15f9..1aa9a8c39b 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status); +use IO::Compress::Base::Common 2.084 qw(:Status); -use Compress::Raw::Bzip2 2.081 ; +use Compress::Raw::Bzip2 2.084 ; our ($VERSION, @ISA); -$VERSION = '2.081'; +$VERSION = '2.084'; sub mkUncompObject { diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm index a122320de2..5601599225 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm @@ -4,14 +4,14 @@ use warnings; use strict; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status); +use IO::Compress::Base::Common 2.084 qw(:Status); use IO::Compress::Zip::Constants ; our ($VERSION); -$VERSION = '2.081'; +$VERSION = '2.084'; -use Compress::Raw::Zlib 2.081 (); +use Compress::Raw::Zlib 2.084 (); sub mkUncompObject { diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm index d5544faee8..f51c64d7e5 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm @@ -4,11 +4,11 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status); -use Compress::Raw::Zlib 2.081 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); +use IO::Compress::Base::Common 2.084 qw(:Status); +use Compress::Raw::Zlib 2.084 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); our ($VERSION); -$VERSION = '2.081'; +$VERSION = '2.084'; @@ -62,7 +62,6 @@ sub uncompr my $status = $inf->inflate($from, $to, $eof); $self->{ErrorNo} = $status; - if ($status != Z_OK && $status != Z_STREAM_END && $status != Z_BUF_ERROR) { $self->{Error} = "Inflation Error: $status"; diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm index 563f2f679e..be464889eb 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm @@ -6,22 +6,22 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 (); +use IO::Compress::Base::Common 2.084 (); -use IO::Uncompress::Adapter::Inflate 2.081 (); +use IO::Uncompress::Adapter::Inflate 2.084 (); -use IO::Uncompress::Base 2.081 ; -use IO::Uncompress::Gunzip 2.081 ; -use IO::Uncompress::Inflate 2.081 ; -use IO::Uncompress::RawInflate 2.081 ; -use IO::Uncompress::Unzip 2.081 ; +use IO::Uncompress::Base 2.084 ; +use IO::Uncompress::Gunzip 2.084 ; +use IO::Uncompress::Inflate 2.084 ; +use IO::Uncompress::RawInflate 2.084 ; +use IO::Uncompress::Unzip 2.084 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError); -$VERSION = '2.081'; +$VERSION = '2.084'; $AnyInflateError = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -48,7 +48,7 @@ sub anyinflate sub getExtraParams { - use IO::Compress::Base::Common 2.081 qw(:Parse); + use IO::Compress::Base::Common 2.084 qw(:Parse); return ( 'rawinflate' => [Parse_boolean, 0] ) ; } @@ -342,10 +342,7 @@ This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> -When writing to a file or filehandle, set C<binmode> before writing to the -file. - -Defaults to 0. +This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> @@ -964,7 +961,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -995,7 +992,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm index c2d7687570..c6dfce536b 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm @@ -4,16 +4,16 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 (); +use IO::Compress::Base::Common 2.084 (); -use IO::Uncompress::Base 2.081 ; +use IO::Uncompress::Base 2.084 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError); -$VERSION = '2.081'; +$VERSION = '2.084'; $AnyUncompressError = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -29,22 +29,27 @@ BEGIN { local @INC = @INC; pop @INC if $INC[-1] eq '.'; - eval ' use IO::Uncompress::Adapter::Inflate 2.081 ;'; - eval ' use IO::Uncompress::Adapter::Bunzip2 2.081 ;'; - eval ' use IO::Uncompress::Adapter::LZO 2.081 ;'; - eval ' use IO::Uncompress::Adapter::Lzf 2.081 ;'; - eval ' use IO::Uncompress::Adapter::UnLzma 2.081 ;'; - eval ' use IO::Uncompress::Adapter::UnXz 2.081 ;'; - - eval ' use IO::Uncompress::Bunzip2 2.081 ;'; - eval ' use IO::Uncompress::UnLzop 2.081 ;'; - eval ' use IO::Uncompress::Gunzip 2.081 ;'; - eval ' use IO::Uncompress::Inflate 2.081 ;'; - eval ' use IO::Uncompress::RawInflate 2.081 ;'; - eval ' use IO::Uncompress::Unzip 2.081 ;'; - eval ' use IO::Uncompress::UnLzf 2.081 ;'; - eval ' use IO::Uncompress::UnLzma 2.081 ;'; - eval ' use IO::Uncompress::UnXz 2.081 ;'; + eval ' use IO::Uncompress::Adapter::Inflate 2.084 ;'; + eval ' use IO::Uncompress::Adapter::Bunzip2 2.084 ;'; + eval ' use IO::Uncompress::Adapter::LZO 2.084 ;'; + eval ' use IO::Uncompress::Adapter::Lzf 2.084 ;'; + eval ' use IO::Uncompress::Adapter::UnLzma 2.084 ;'; + eval ' use IO::Uncompress::Adapter::UnXz 2.084 ;'; + eval ' use IO::Uncompress::Adapter::UnZstd 2.083 ;'; + eval ' use IO::Uncompress::Adapter::UnLzip 2.084 ;'; + + eval ' use IO::Uncompress::Bunzip2 2.084 ;'; + eval ' use IO::Uncompress::UnLzop 2.084 ;'; + eval ' use IO::Uncompress::Gunzip 2.084 ;'; + eval ' use IO::Uncompress::Inflate 2.084 ;'; + eval ' use IO::Uncompress::RawInflate 2.084 ;'; + eval ' use IO::Uncompress::Unzip 2.084 ;'; + eval ' use IO::Uncompress::UnLzf 2.084 ;'; + eval ' use IO::Uncompress::UnLzma 2.084 ;'; + eval ' use IO::Uncompress::UnXz 2.084 ;'; + eval ' use IO::Uncompress::UnZstd 2.084 ;'; + eval ' use IO::Uncompress::UnLzip 2.084 ;'; + } sub new @@ -191,6 +196,39 @@ sub mkUncomp return 1; } + if (defined $IO::Uncompress::UnZstd::VERSION and + $magic = $self->ckMagic('UnZstd')) { + + *$self->{Info} = $self->readHeader($magic) + or return undef ; + + my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Zstd::mkUncompObject(); + + return $self->saveErrorString(undef, $errstr, $errno) + if ! defined $obj; + + *$self->{Uncomp} = $obj; + + return 1; + } + + + if (defined $IO::Uncompress::UnLzip::VERSION and + $magic = $self->ckMagic('UnLzip')) { + + *$self->{Info} = $self->readHeader($magic) + or return undef ; + + my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::UnLzip::mkUncompObject(*$self->{Info}{DictSize}); + + return $self->saveErrorString(undef, $errstr, $errno) + if ! defined $obj; + + *$self->{Uncomp} = $obj; + + return 1; + } + return 0 ; } @@ -299,6 +337,8 @@ The formats supported are: =item lzma +=item lzip + =item xz =back @@ -452,10 +492,7 @@ This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> -When writing to a file or filehandle, set C<binmode> before writing to the -file. - -Defaults to 0. +This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> @@ -1009,7 +1046,7 @@ Same as doing this =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1027,7 +1064,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm index ff9b1ae630..06fb04a81c 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm @@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(IO::File Exporter); -$VERSION = '2.081'; +$VERSION = '2.084'; use constant G_EOF => 0 ; use constant G_ERR => -1 ; -use IO::Compress::Base::Common 2.081 ; +use IO::Compress::Base::Common 2.084 ; use IO::File ; use Symbol; @@ -695,13 +695,13 @@ sub _singleTarget if $x->{Got}->getValue('append') ; $x->{fh} = new IO::File "$mode $output" or return retErr($x, "cannot open file '$output': $!") ; - binmode $x->{fh} if $x->{Got}->valueOrDefault('binmodeout'); + binmode $x->{fh} ; } elsif ($x->{outType} eq 'handle') { $x->{fh} = $output; - binmode $x->{fh} if $x->{Got}->valueOrDefault('binmodeout'); + binmode $x->{fh} ; if ($x->{Got}->getValue('append')) { seek($x->{fh}, 0, SEEK_END) or return retErr($x, "Cannot seek to end of output filehandle: $!") ; @@ -1077,13 +1077,6 @@ sub streamCount return scalar @{ *$self->{InfoList} } ; } -#sub read -#{ -# my $status = myRead(@_); -# return undef if $status < 0; -# return $status; -#} - sub read { # return codes @@ -1536,7 +1529,7 @@ purpose is to be sub-classed by IO::Uncompress modules. =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1554,7 +1547,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm index ec17c63c6c..7a84bcd15c 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm @@ -4,15 +4,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status ); +use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Uncompress::Base 2.081 ; -use IO::Uncompress::Adapter::Bunzip2 2.081 ; +use IO::Uncompress::Base 2.084 ; +use IO::Uncompress::Adapter::Bunzip2 2.084 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error); -$VERSION = '2.081'; +$VERSION = '2.084'; $Bunzip2Error = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -338,10 +338,7 @@ This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> -When writing to a file or filehandle, set C<binmode> before writing to the -file. - -Defaults to 0. +This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> @@ -881,7 +878,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -903,7 +900,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm index 55d4c0a97a..46dd108341 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm @@ -9,12 +9,12 @@ use strict ; use warnings; use bytes; -use IO::Uncompress::RawInflate 2.081 ; +use IO::Uncompress::RawInflate 2.084 ; -use Compress::Raw::Zlib 2.081 () ; -use IO::Compress::Base::Common 2.081 qw(:Status ); -use IO::Compress::Gzip::Constants 2.081 ; -use IO::Compress::Zlib::Extra 2.081 ; +use Compress::Raw::Zlib 2.084 () ; +use IO::Compress::Base::Common 2.084 qw(:Status ); +use IO::Compress::Gzip::Constants 2.084 ; +use IO::Compress::Zlib::Extra 2.084 ; require Exporter ; @@ -28,7 +28,7 @@ Exporter::export_ok_tags('all'); $GunzipError = ''; -$VERSION = '2.081'; +$VERSION = '2.084'; sub new { @@ -477,10 +477,7 @@ This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> -When writing to a file or filehandle, set C<binmode> before writing to the -file. - -Defaults to 0. +This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> @@ -1087,7 +1084,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1118,7 +1115,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm index 9dcd797be4..4d89db5b19 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm @@ -5,15 +5,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.081 qw(:Status ); -use IO::Compress::Zlib::Constants 2.081 ; +use IO::Compress::Base::Common 2.084 qw(:Status ); +use IO::Compress::Zlib::Constants 2.084 ; -use IO::Uncompress::RawInflate 2.081 ; +use IO::Uncompress::RawInflate 2.084 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError); -$VERSION = '2.081'; +$VERSION = '2.084'; $InflateError = ''; @ISA = qw(IO::Uncompress::RawInflate Exporter); @@ -399,10 +399,7 @@ This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> -When writing to a file or filehandle, set C<binmode> before writing to the -file. - -Defaults to 0. +This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> @@ -959,7 +956,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -990,7 +987,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm index 5cf10b0bd2..63703cd975 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm @@ -5,16 +5,16 @@ use strict ; use warnings; use bytes; -use Compress::Raw::Zlib 2.081 ; -use IO::Compress::Base::Common 2.081 qw(:Status ); +use Compress::Raw::Zlib 2.084 ; +use IO::Compress::Base::Common 2.084 qw(:Status ); -use IO::Uncompress::Base 2.081 ; -use IO::Uncompress::Adapter::Inflate 2.081 ; +use IO::Uncompress::Base 2.084 ; +use IO::Uncompress::Adapter::Inflate 2.084 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError); -$VERSION = '2.081'; +$VERSION = '2.084'; $RawInflateError = ''; @ISA = qw(IO::Uncompress::Base Exporter); @@ -547,10 +547,7 @@ This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> -When writing to a file or filehandle, set C<binmode> before writing to the -file. - -Defaults to 0. +This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> @@ -1087,7 +1084,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP"> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1118,7 +1115,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm index 9b8399eeaf..4e8a0d67c7 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm @@ -9,14 +9,14 @@ use warnings; use bytes; use IO::File; -use IO::Uncompress::RawInflate 2.081 ; -use IO::Compress::Base::Common 2.081 qw(:Status ); -use IO::Uncompress::Adapter::Inflate 2.081 ; -use IO::Uncompress::Adapter::Identity 2.081 ; -use IO::Compress::Zlib::Extra 2.081 ; -use IO::Compress::Zip::Constants 2.081 ; +use IO::Uncompress::RawInflate 2.084 ; +use IO::Compress::Base::Common 2.084 qw(:Status ); +use IO::Uncompress::Adapter::Inflate 2.084 ; +use IO::Uncompress::Adapter::Identity 2.084 ; +use IO::Compress::Zlib::Extra 2.084 ; +use IO::Compress::Zip::Constants 2.084 ; -use Compress::Raw::Zlib 2.081 () ; +use Compress::Raw::Zlib 2.084 () ; BEGIN { @@ -31,7 +31,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup); -$VERSION = '2.081'; +$VERSION = '2.084'; $UnzipError = ''; @ISA = qw(IO::Uncompress::RawInflate Exporter); @@ -171,25 +171,27 @@ sub readHeader # TODO - when Stream is off, use seek my $buffer; if (*$self->{ZipData}{Streaming}) { - while (1) { my $b; my $status = $self->smartRead(\$b, 1024 * 16); - return undef + + return $self->saveErrorString(undef, "Truncated file") if $status <= 0 ; - my $temp_buf; + my $temp_buf ; my $out; + $status = *$self->{Uncomp}->uncompr(\$b, \$temp_buf, 0, $out); return $self->saveErrorString(undef, *$self->{Uncomp}{Error}, *$self->{Uncomp}{ErrorNo}) if $self->saveStatus($status) == STATUS_ERROR; + $self->pushBack($b) ; + if ($status == STATUS_ENDSTREAM) { *$self->{Uncomp}->reset(); - $self->pushBack($b) ; last; } } @@ -461,6 +463,7 @@ sub skipEndCentralDirectory my $self = shift; my $magic = shift ; + my $buffer; $self->smartReadExact(\$buffer, 22 - 4) or return $self->TrailerError("Minimum header size is " . @@ -1233,10 +1236,7 @@ This parameter defaults to 0. =item C<< BinModeOut => 0|1 >> -When writing to a file or filehandle, set C<binmode> before writing to the -file. - -Defaults to 0. +This option is now a no-op. All files will be written in binmode. =item C<< Append => 0|1 >> @@ -1830,7 +1830,7 @@ The script is available from L<https://gist.github.com/eqhmcow/5389877> =head1 SEE ALSO -L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> +L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzip>, L<IO::Uncompress::UnLzip>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Compress::Zstd>, L<IO::Uncompress::UnZstd>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress> L<IO::Compress::FAQ|IO::Compress::FAQ> @@ -1861,7 +1861,7 @@ See the Changes file. =head1 COPYRIGHT AND LICENSE -Copyright (c) 2005-2018 Paul Marquess. All rights reserved. +Copyright (c) 2005-2019 Paul Marquess. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/cpan/IO-Compress/t/000prereq.t b/cpan/IO-Compress/t/000prereq.t index 7167fed325..c3395464c4 100644 --- a/cpan/IO-Compress/t/000prereq.t +++ b/cpan/IO-Compress/t/000prereq.t @@ -25,7 +25,7 @@ BEGIN if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - my $VERSION = '2.081'; + my $VERSION = '2.084'; my @NAMES = qw( Compress::Raw::Bzip2 Compress::Raw::Zlib diff --git a/cpan/IO-Compress/t/004gziphdr.t b/cpan/IO-Compress/t/004gziphdr.t index 399fdb70ef..27a9013546 100644 --- a/cpan/IO-Compress/t/004gziphdr.t +++ b/cpan/IO-Compress/t/004gziphdr.t @@ -854,8 +854,8 @@ EOM $status = $gunz->read($uncomp) while $status > 0; if ($strict) { - cmp_ok $status, '<', 0 ; - like $GunzipError, "/Trailer Error: trailer truncated. Expected 8 bytes, got $got/"; + cmp_ok $status, '<', 0, "status 0" ; + like $GunzipError, "/Trailer Error: trailer truncated. Expected 8 bytes, got $got/", "got Trailer Error"; } else { diff --git a/cpan/IO-Compress/t/101truncate-bzip2.t b/cpan/IO-Compress/t/101truncate-bzip2.t index 94d9be287b..d533f237a0 100644 --- a/cpan/IO-Compress/t/101truncate-bzip2.t +++ b/cpan/IO-Compress/t/101truncate-bzip2.t @@ -21,7 +21,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 4012 + $extra; + plan tests => 3308 + $extra; }; diff --git a/cpan/IO-Compress/t/101truncate-deflate.t b/cpan/IO-Compress/t/101truncate-deflate.t index abff664905..49f9ae41ca 100644 --- a/cpan/IO-Compress/t/101truncate-deflate.t +++ b/cpan/IO-Compress/t/101truncate-deflate.t @@ -21,7 +21,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 3056 + $extra; + plan tests => 2552 + $extra; }; diff --git a/cpan/IO-Compress/t/101truncate-gzip.t b/cpan/IO-Compress/t/101truncate-gzip.t index 6a787c912a..16b2d07963 100644 --- a/cpan/IO-Compress/t/101truncate-gzip.t +++ b/cpan/IO-Compress/t/101truncate-gzip.t @@ -22,7 +22,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 3544 + $extra; + plan tests => 3040 + $extra; }; diff --git a/cpan/IO-Compress/t/101truncate-zip.t b/cpan/IO-Compress/t/101truncate-zip.t index 89603d35c0..80a0aee275 100644 --- a/cpan/IO-Compress/t/101truncate-zip.t +++ b/cpan/IO-Compress/t/101truncate-zip.t @@ -22,7 +22,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 9156 + $extra; + plan tests => 7732 + $extra; }; diff --git a/cpan/IO-Compress/t/105oneshot-zip-only.t b/cpan/IO-Compress/t/105oneshot-zip-only.t index 4fea3d1a46..94676eb5dd 100644 --- a/cpan/IO-Compress/t/105oneshot-zip-only.t +++ b/cpan/IO-Compress/t/105oneshot-zip-only.t @@ -1,7 +1,7 @@ BEGIN { if ($ENV{PERL_CORE}) { - chdir 't' if -d 't'; - @INC = ("../lib", "lib/compress"); + chdir 't' if -d 't'; + @INC = ("../lib", "lib/compress"); } } @@ -24,7 +24,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 216 + $extra ; + plan tests => 219 + $extra ; #use_ok('IO::Compress::Zip', qw(zip $ZipError :zip_method)) ; use_ok('IO::Compress::Zip', qw(:all)) ; @@ -246,5 +246,30 @@ for my $stream (0, 1) } } +{ + title "Regression: ods streaming issue"; + + # The file before meta.xml in test.ods is content.xml. + # Issue was triggered because content.xml was stored + # as streamed and the code to walk the compressed streaming + # content assumed that all of the input buffer was consumed + # in a single call to "uncompr". + + my $files = "./t/" ; + $files = "./" if $ENV{PERL_CORE} ; + $files .= "files/"; + + my $zipfile = "$files/test.ods" ; + my $file = "meta.xml"; + + my $got; + + ok unzip($zipfile => \$got, Name => $file), " unzip $file ok" + or diag $UnzipError ; + + my $meta = readFile("$files/$file"); + is $got, $meta, " content ok"; +} + # TODO add more error cases diff --git a/cpan/IO-Compress/t/compress/CompTestUtils.pm b/cpan/IO-Compress/t/compress/CompTestUtils.pm index da238e15d2..c506632f90 100644 --- a/cpan/IO-Compress/t/compress/CompTestUtils.pm +++ b/cpan/IO-Compress/t/compress/CompTestUtils.pm @@ -395,6 +395,17 @@ my %TOP = ( Raw => 0, }, + 'IO::Compress::Lzip' => { Inverse => 'IO::Uncompress::UnLzip', + Error => 'LzipError', + TopLevel => 'lzip', + Raw => 0, + }, + 'IO::Uncompress::UnLzip' => { Inverse => 'IO::Compress::Lzip', + Error => 'UnLzipError', + TopLevel => 'unlzip', + Raw => 0, + }, + 'IO::Compress::PPMd' => { Inverse => 'IO::Uncompress::UnPPMd', Error => 'PPMdError', TopLevel => 'ppmd', @@ -405,6 +416,16 @@ my %TOP = ( TopLevel => 'unppmd', Raw => 0, }, + 'IO::Compress::Zstd' => { Inverse => 'IO::Uncompress::UnZstd', + Error => 'ZstdError', + TopLevel => 'zstd', + Raw => 0, + }, + 'IO::Uncompress::UnZstd' => { Inverse => 'IO::Compress::Zstd', + Error => 'UnZstdError', + TopLevel => 'unzstd', + Raw => 0, + }, 'IO::Compress::DummyComp' => { Inverse => 'IO::Uncompress::DummyUnComp', Error => 'DummyCompError', @@ -494,7 +515,7 @@ sub compressBuffer our ($AnyUncompressError); BEGIN { - eval ' use IO::Uncompress::AnyUncompress qw($AnyUncompressError); '; + eval ' use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError); '; } sub anyUncompress @@ -555,7 +576,6 @@ sub anyUncompress if $o->error() ; return $out ; - } sub getHeaders @@ -718,7 +738,7 @@ sub getMultiValues { my $class = shift ; - return (0,0) if $class =~ /lzf|lzma/i; + return (0,0) if $class =~ /lzf|lzma|zstd/i; return (1,0); } diff --git a/cpan/IO-Compress/t/compress/generic.pl b/cpan/IO-Compress/t/compress/generic.pl index f6e630c736..d9695e88dc 100644 --- a/cpan/IO-Compress/t/compress/generic.pl +++ b/cpan/IO-Compress/t/compress/generic.pl @@ -18,7 +18,7 @@ BEGIN $extra = 1 if $st ; - plan(tests => 794 + $extra) ; + plan(tests => 799 + $extra) ; } sub myGZreadFile @@ -43,7 +43,7 @@ sub myGZreadFile sub run { my $CompressClass = identify(); - $UncompressClass = getInverse($CompressClass); + $UncompressClass = getInverse($CompressClass); my $Error = getErrorRef($CompressClass); my $UnError = getErrorRef($UncompressClass); @@ -484,10 +484,13 @@ EOM #print "length " . length($x) . " \n"; } + SKIP: { # embed a compressed file in another file #================================ + skip "zstd doesn't support trailing data", 11 + if $CompressClass =~ /zstd/i ; my $lex = new LexFile my $name ; @@ -525,7 +528,7 @@ EOM ok $x->binmode(); 1 while $x->read($uncomp) > 0 ; - ok $uncomp eq $hello ; + is $uncomp, $hello ; my $rest ; read($fh1, $rest, 5000); is $x->trailingData() . $rest, $trailer ; @@ -533,10 +536,13 @@ EOM } + SKIP: { # embed a compressed file in another buffer #================================ + skip "zstd doesn't support trailing data", 6 + if $CompressClass =~ /zstd/i ; my $hello = <<EOM ; hello world @@ -1142,7 +1148,8 @@ EOT my $b ; my $a = new $CompressClass(\$b) ; - ok ! $a->error() ; + ok ! $a->error() + or die $a->error() ; eval { $a->seek(-1, 10) ; }; like $@, mkErr("^${CompressClass}::seek: unknown value, 10, for whence parameter"); @@ -1598,7 +1605,7 @@ EOT $c->close(); my $comp_len = length $compressed; - $compressed .= $appended if $append ; + $compressed .= $appended if $append && $CompressClass !~ /zstd/i; my $lex = new LexFile my $name ; my $input ; @@ -1638,7 +1645,7 @@ EOT } { - # Check that read return an empty string + # Check that read returns an empty string if ($type eq 'filehandle') { my $fh = new IO::File "<$name" ; @@ -1651,7 +1658,8 @@ EOT isa_ok $x, $UncompressClass; my $buffer; - is $x->read($buffer), 0, "read 0 bytes"; + is $x->read($buffer), 0, "read 0 bytes" + or diag "read returned $$UnError"; ok defined $buffer, "buffer is defined"; is $buffer, "", "buffer is empty string"; @@ -1703,6 +1711,37 @@ EOT } } } + + { + # Round trip binary data that happens to contain \r\n + # via the filesystem + + my $original = join '', map { chr } 0x00 .. 0xff ; + $original .= "data1\r\ndata2\r\ndata3\r\n" ; + + + title "$UncompressClass -- round trip test"; + + my $string = $original; + + my $lex = new LexFile( my $name, my $compressed) ; + my $input ; + writeFile ($name, $original); + + my $c = new $CompressClass($compressed); + isa_ok $c, $CompressClass; + $c->print($string); + $c->close(); + + my $u = new $UncompressClass $compressed, Transparent => 0 + or diag "$$UnError" ; + isa_ok $u, $UncompressClass; + my $buffer; + is $u->read($buffer), length($original), "read bytes"; + is $buffer, $original, " round tripped ok"; + + + } } 1; diff --git a/cpan/IO-Compress/t/compress/multi.pl b/cpan/IO-Compress/t/compress/multi.pl index c6501f8f74..4d587fbdd4 100644 --- a/cpan/IO-Compress/t/compress/multi.pl +++ b/cpan/IO-Compress/t/compress/multi.pl @@ -101,8 +101,6 @@ EOM } ok $x->close, " Close ok" ; - #hexDump($compressed) ; - foreach my $unc ($UncompressClass, 'IO::Uncompress::AnyUncompress') { title " Testing $CompressClass with $unc and $i streams, from $fb"; $cc = $output ; diff --git a/cpan/IO-Compress/t/compress/oneshot.pl b/cpan/IO-Compress/t/compress/oneshot.pl index 43d9c02f64..790d1b2b0c 100644 --- a/cpan/IO-Compress/t/compress/oneshot.pl +++ b/cpan/IO-Compress/t/compress/oneshot.pl @@ -16,12 +16,24 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 1002 + $extra ; + plan tests => 1007 + $extra ; use_ok('IO::Uncompress::AnyUncompress', qw(anyuncompress $AnyUncompressError)) ; } +my $OriginalContent1 = <<EOM ; +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut tempus odio id + dolor. Camelus perlus. Larrius in lumen numen. Dolor en quiquum filia + est. Quintus cenum parat. +EOM + +my $OriginalContent2 = <<EOM ; +LOREM ipsum dolor sit amet, consectetuer adipiscing elit. Ut tempus odio id + dolor. Camelus perlus. Larrius in lumen numen. Dolor en quiquum filia + est. Quintus cenum PARAT. +EOM + sub run { @@ -286,9 +298,8 @@ sub run my $already = ''; $already = 'abcde' if $append ; - for my $buffer ( undef, '', "abcde" ) + for my $buffer ( undef, '', $OriginalContent1 ) { - my $disp_content = defined $buffer ? $buffer : '<undef>' ; my $keep = $buffer; @@ -306,7 +317,6 @@ sub run $got = undef if ! defined $buffer && $got eq '' ; ok ! $$Error, " no error [$$Error]" ; is $got, $buffer, " Uncompressed matches original"; - } { @@ -520,22 +530,22 @@ sub run my $lex = new LexFile(my $file1, my $file2) ; - writeFile($file1, "data1"); - writeFile($file2, "data2"); + writeFile($file1, $OriginalContent1); + writeFile($file2, $OriginalContent2); my $of = new IO::File "<$file1" ; ok $of, " Created output filehandle" ; #my @input = ( undef, "", $file2, \undef, \'', \"abcde", $of) ; - #my @expected = ("", "", $file2, "", "", "abcde", "data1"); - #my @uexpected = ("", "", "data2", "", "", "abcde", "data1"); + #my @expected = ("", "", $file2, "", "", "abcde", $OriginalContent1); + #my @uexpected = ("", "", $OriginalContent2, "", "", "abcde", $OriginalContent1); #my @input = ( $file2, \"abcde", $of) ; - #my @expected = ( $file2, "abcde", "data1"); - #my @uexpected = ("data2", "abcde", "data1"); + #my @expected = ( $file2, "abcde", $OriginalContent1); + #my @uexpected = ($OriginalContent2, "abcde", $OriginalContent1); my @input = ( $file1, $file2) ; #my @expected = ( $file1, $file2); - my @expected = ("data1", "data2"); - my @uexpected = ("data1", "data2"); + my @expected = ($OriginalContent1, $OriginalContent2); + my @uexpected = ($OriginalContent1, $OriginalContent2); my @keep = @input ; @@ -618,7 +628,7 @@ sub run { title "Truncated file"; skip '', 7 - if $CompressClass =~ /lzop|lzf|lzma/i ; + if $CompressClass =~ /lzop|lzf|lzma|zstd|lzip/i ; my @in ; push @in, "abcde" x 10; @@ -644,6 +654,33 @@ sub run } } + foreach my $bit ($CompressClass) + { + + my $Error = getErrorRef($bit); + my $Func = getTopFuncRef($bit); + my $TopType = getTopFuncName($bit); + + my $TopTypeInverse = getInverse($bit); + my $FuncInverse = getTopFuncRef($TopTypeInverse); + my $ErrorInverse = getErrorRef($TopTypeInverse); + + title 'Round trip binary data that happens to include \r\n' ; + + my $lex = new LexFile(my $file1, my $file2, my $file3) ; + + my $original = join '', map { chr } 0x00 .. 0xff ; + $original .= "data1\r\ndata2\r\ndata3\r\n" ; + + writeFile($file1, $original); + is readFile($file1), $original; + + ok &$Func($file1 => $file2), ' Compressed ok' ; + ok &$FuncInverse($file2 => $file3), ' Uncompressed ok' ; + is readFile($file3), $original, " round tripped ok"; + + } + foreach my $bit ($UncompressClass, #'IO::Uncompress::AnyUncompress', ) @@ -660,10 +697,14 @@ sub run my $keep = $data ; my $extra = "after the main event"; + SKIP: foreach my $fb ( qw( filehandle buffer ) ) { title "Trailingdata with $TopType, from $fb"; + skip "zstd doesn't support trailing data", 9 + if $CompressClass =~ /zstd/i ; + my $lex = new LexFile my $name ; my $input ; @@ -1008,8 +1049,8 @@ sub run my $Func = getTopFuncRef($bit); my $TopType = getTopFuncName($bit); - my $buffer = "abcde" ; - my $buffer2 = "ABCDE" ; + my $buffer = $OriginalContent1; + my $buffer2 = $OriginalContent2; my $keep_orig = $buffer; my $comp = compressBuffer($UncompressClass, $buffer) ; @@ -1327,8 +1368,8 @@ sub run my $lex = new LexFile(my $file1, my $file2) ; - writeFile($file1, compressBuffer($UncompressClass,"data1")); - writeFile($file2, compressBuffer($UncompressClass,"data2")); + writeFile($file1, compressBuffer($UncompressClass, $OriginalContent1)); + writeFile($file2, compressBuffer($UncompressClass, $OriginalContent2)); my $of = new IO::File "<$file1" ; ok $of, " Created output filehandle" ; @@ -1336,7 +1377,7 @@ sub run #my @input = ($file2, \$undef, \$null, \$comp, $of) ; #my @expected = ('data2', '', '', 'abcde', 'data1'); my @input = ($file1, $file2); - my @expected = ('data1', 'data2'); + my @expected = ($OriginalContent1, $OriginalContent2); my @keep = @input ; @@ -1622,6 +1663,8 @@ sub run ok &$UncompFunc($fh_in2 => $fh_out2), ' UnCompressed ok' ; is $output, $input, "round trip ok" ; } + + } # TODO add more error cases diff --git a/cpan/IO-Compress/t/compress/truncate.pl b/cpan/IO-Compress/t/compress/truncate.pl index 0bf269a7a6..24fe176ce8 100644 --- a/cpan/IO-Compress/t/compress/truncate.pl +++ b/cpan/IO-Compress/t/compress/truncate.pl @@ -114,7 +114,7 @@ sub run #ok $gz->eof() ; } - # Test curruption directly after the header + # Test corruption directly after the header # In this case the uncompression object will have been created, # so need to check that subsequent reads from the object fail if ($header_size > 0) @@ -227,13 +227,15 @@ sub run } ok $gz->error() ; cmp_ok $gz->errorNo(), '<', 0 ; - ok $gz->eof() ; + # ok $gz->eof() + # or die "EOF"; $gz->close(); } } - # RawDeflate does not have a trailer + # RawDeflate and Zstandard do not have a trailer next if $CompressClass eq 'IO::Compress::RawDeflate' ; + next if $CompressClass eq 'IO::Compress::Zstd' ; title "Compressed Trailer Truncation"; foreach my $i (length($compressed) - $trailer_size .. length($compressed) -1 ) diff --git a/cpan/IO-Compress/t/files/meta.xml b/cpan/IO-Compress/t/files/meta.xml new file mode 100644 index 0000000000..437352da62 --- /dev/null +++ b/cpan/IO-Compress/t/files/meta.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:grddl="http://www.w3.org/2003/g/data-view#" office:version="1.2"><office:meta><meta:creation-date>2018-12-25T11:36:11.437260543</meta:creation-date><dc:date>2018-12-25T11:36:55.657945697</dc:date><meta:editing-duration>PT54S</meta:editing-duration><meta:editing-cycles>1</meta:editing-cycles><meta:document-statistic meta:table-count="1" meta:cell-count="3" meta:object-count="0"/><meta:generator>LibreOffice/6.0.7.3$Linux_X86_64 LibreOffice_project/00m0$Build-3</meta:generator></office:meta></office:document-meta>
\ No newline at end of file diff --git a/cpan/IO-Compress/t/files/test.ods b/cpan/IO-Compress/t/files/test.ods Binary files differnew file mode 100644 index 0000000000..ecb2a5df9f --- /dev/null +++ b/cpan/IO-Compress/t/files/test.ods |