From 315f9eeab4f1bbcc1f1b259d80d5db3a05952456 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 24 Jul 2010 13:07:29 +0100 Subject: Compress 2.030 --- cpan/IO-Compress/Changes | 13 +++ cpan/IO-Compress/Makefile.PL | 2 +- cpan/IO-Compress/README | 6 +- cpan/IO-Compress/lib/Compress/Zlib.pm | 12 +-- cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm | 6 +- .../IO-Compress/lib/IO/Compress/Adapter/Deflate.pm | 6 +- .../lib/IO/Compress/Adapter/Identity.pm | 4 +- cpan/IO-Compress/lib/IO/Compress/Base.pm | 4 +- cpan/IO-Compress/lib/IO/Compress/Base/Common.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Bzip2.pm | 10 +-- cpan/IO-Compress/lib/IO/Compress/Deflate.pm | 10 +-- cpan/IO-Compress/lib/IO/Compress/Gzip.pm | 12 +-- cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm | 12 +-- cpan/IO-Compress/lib/IO/Compress/Zip.pm | 44 +++++---- cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm | 4 +- .../lib/IO/Uncompress/Adapter/Bunzip2.pm | 6 +- .../lib/IO/Uncompress/Adapter/Identity.pm | 6 +- .../lib/IO/Uncompress/Adapter/Inflate.pm | 6 +- cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm | 18 ++-- .../IO-Compress/lib/IO/Uncompress/AnyUncompress.pm | 34 +++---- cpan/IO-Compress/lib/IO/Uncompress/Base.pm | 6 +- cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm | 10 +-- cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm | 14 +-- cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm | 8 +- cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm | 10 +-- cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm | 100 ++++++++++++++------- cpan/IO-Compress/t/000prereq.t | 2 +- cpan/IO-Compress/t/compress/multi.pl | 9 +- 31 files changed, 222 insertions(+), 160 deletions(-) (limited to 'cpan/IO-Compress') diff --git a/cpan/IO-Compress/Changes b/cpan/IO-Compress/Changes index 719eab850d..f61463ab8e 100644 --- a/cpan/IO-Compress/Changes +++ b/cpan/IO-Compress/Changes @@ -1,6 +1,19 @@ CHANGES ------- + 2.030 22 July 2010 + + * IO::Compress::Zip + - Updates to documentation. + - Changes default value for ExtAttr on Unix to 0100644 + + * IO::Uncompress::Unzip + Reworked the "Name" option and examples in the pod. + + * IO::Uncompress::Base + Fixed problem with nextStream not returning 0 when there is no + next stream and Transparent is false. + 2.027 24 April 2010 * Compress::Zlib diff --git a/cpan/IO-Compress/Makefile.PL b/cpan/IO-Compress/Makefile.PL index d82adddeb6..e18869ab67 100644 --- a/cpan/IO-Compress/Makefile.PL +++ b/cpan/IO-Compress/Makefile.PL @@ -3,7 +3,7 @@ use strict ; require 5.004 ; -$::VERSION = '2.027' ; +$::VERSION = '2.030' ; use private::MakeUtil; use ExtUtils::MakeMaker 5.16 ; diff --git a/cpan/IO-Compress/README b/cpan/IO-Compress/README index f4ee4c3264..4b1612fca1 100644 --- a/cpan/IO-Compress/README +++ b/cpan/IO-Compress/README @@ -1,9 +1,9 @@ IO-Compress - Version 2.027 + Version 2.030 - 7th April 2010 + 22nd July 2010 Copyright (c) 1995-2010 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.027" ; + $VERSION = "2.030" ; 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/cpan/IO-Compress/lib/Compress/Zlib.pm b/cpan/IO-Compress/lib/Compress/Zlib.pm index 0f3e4bced8..d4a56509e8 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.027 ; -use Compress::Raw::Zlib 2.027 ; -use IO::Compress::Gzip 2.027 ; -use IO::Uncompress::Gunzip 2.027 ; +use IO::Compress::Base::Common 2.030 ; +use Compress::Raw::Zlib 2.030 ; +use IO::Compress::Gzip 2.030 ; +use IO::Uncompress::Gunzip 2.030 ; use strict ; use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.027'; +$VERSION = '2.030'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -451,7 +451,7 @@ sub inflate package Compress::Zlib ; -use IO::Compress::Gzip::Constants 2.027 ; +use IO::Compress::Gzip::Constants 2.030 ; sub memGzip($) { diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm index 4cc969773f..7f13b158ee 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm @@ -4,13 +4,13 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.027 qw(:Status); +use IO::Compress::Base::Common 2.030 qw(:Status); #use Compress::Bzip2 ; -use Compress::Raw::Bzip2 2.027 ; +use Compress::Raw::Bzip2 2.030 ; our ($VERSION); -$VERSION = '2.027'; +$VERSION = '2.030'; 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 36a5dcd7b9..f586a6e7e6 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.027 qw(:Status); +use IO::Compress::Base::Common 2.030 qw(:Status); -use Compress::Raw::Zlib 2.027 qw(Z_OK Z_FINISH MAX_WBITS) ; +use Compress::Raw::Zlib 2.030 qw(Z_OK Z_FINISH MAX_WBITS) ; our ($VERSION); -$VERSION = '2.027'; +$VERSION = '2.030'; sub mkCompObject { diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm index e6d589e89f..e08ed496fe 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.027 qw(:Status); +use IO::Compress::Base::Common 2.030 qw(:Status); our ($VERSION); -$VERSION = '2.027'; +$VERSION = '2.030'; sub mkCompObject { diff --git a/cpan/IO-Compress/lib/IO/Compress/Base.pm b/cpan/IO-Compress/lib/IO/Compress/Base.pm index e47bdba5eb..ed9997d279 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.004 ; use strict ; use warnings; -use IO::Compress::Base::Common 2.027 ; +use IO::Compress::Base::Common 2.030 ; 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.027'; +$VERSION = '2.030'; #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/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm index 5c776bb9c2..56f3741e3e 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.027'; +$VERSION = '2.030'; @EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput isaFileGlobString cleanFileGlobString oneTarget diff --git a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm index 829e0defd4..2a4e041ce9 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.027 ; +use IO::Compress::Base 2.030 ; -use IO::Compress::Base::Common 2.027 qw(createSelfTiedObject); -use IO::Compress::Adapter::Bzip2 2.027 ; +use IO::Compress::Base::Common 2.030 qw(createSelfTiedObject); +use IO::Compress::Adapter::Bzip2 2.030 ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error); -$VERSION = '2.027'; +$VERSION = '2.030'; $Bzip2Error = ''; @ISA = qw(Exporter IO::Compress::Base); @@ -51,7 +51,7 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.027 qw(:Parse); + use IO::Compress::Base::Common 2.030 qw(:Parse); return ( 'BlockSize100K' => [0, 1, Parse_unsigned, 1], diff --git a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm index be29fb1c9c..58b61ab26d 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm @@ -6,16 +6,16 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.027 ; +use IO::Compress::RawDeflate 2.030 ; -use Compress::Raw::Zlib 2.027 ; -use IO::Compress::Zlib::Constants 2.027 ; -use IO::Compress::Base::Common 2.027 qw(createSelfTiedObject); +use Compress::Raw::Zlib 2.030 ; +use IO::Compress::Zlib::Constants 2.030 ; +use IO::Compress::Base::Common 2.030 qw(createSelfTiedObject); our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError); -$VERSION = '2.027'; +$VERSION = '2.030'; $DeflateError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm index 01d4b14806..0e6ea994ec 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm @@ -8,12 +8,12 @@ use warnings; use bytes; -use IO::Compress::RawDeflate 2.027 ; +use IO::Compress::RawDeflate 2.030 ; -use Compress::Raw::Zlib 2.027 ; -use IO::Compress::Base::Common 2.027 qw(:Status :Parse createSelfTiedObject); -use IO::Compress::Gzip::Constants 2.027 ; -use IO::Compress::Zlib::Extra 2.027 ; +use Compress::Raw::Zlib 2.030 ; +use IO::Compress::Base::Common 2.030 qw(:Status :Parse createSelfTiedObject); +use IO::Compress::Gzip::Constants 2.030 ; +use IO::Compress::Zlib::Extra 2.030 ; BEGIN { @@ -27,7 +27,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError); -$VERSION = '2.027'; +$VERSION = '2.030'; $GzipError = '' ; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm index 0d57db64f1..335b7d918c 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.027'; +$VERSION = '2.030'; @ISA = qw(Exporter); diff --git a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm index 0acf43d917..bec40e0e55 100644 --- a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm @@ -7,16 +7,16 @@ use warnings; use bytes; -use IO::Compress::Base 2.027 ; -use IO::Compress::Base::Common 2.027 qw(:Status createSelfTiedObject); -use IO::Compress::Adapter::Deflate 2.027 ; +use IO::Compress::Base 2.030 ; +use IO::Compress::Base::Common 2.030 qw(:Status createSelfTiedObject); +use IO::Compress::Adapter::Deflate 2.030 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); -$VERSION = '2.027'; +$VERSION = '2.030'; $RawDeflateError = ''; @ISA = qw(Exporter IO::Compress::Base); @@ -142,8 +142,8 @@ sub getZlibParams { my $self = shift ; - use IO::Compress::Base::Common 2.027 qw(:Parse); - use Compress::Raw::Zlib 2.027 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); + use IO::Compress::Base::Common 2.030 qw(:Parse); + use Compress::Raw::Zlib 2.030 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); return ( diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip.pm b/cpan/IO-Compress/lib/IO/Compress/Zip.pm index b235f7f3cc..00f4ed9fce 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zip.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zip.pm @@ -4,26 +4,26 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.027 qw(:Status createSelfTiedObject); -use IO::Compress::RawDeflate 2.027 ; -use IO::Compress::Adapter::Deflate 2.027 ; -use IO::Compress::Adapter::Identity 2.027 ; -use IO::Compress::Zlib::Extra 2.027 ; -use IO::Compress::Zip::Constants 2.027 ; +use IO::Compress::Base::Common 2.030 qw(:Status createSelfTiedObject); +use IO::Compress::RawDeflate 2.030 ; +use IO::Compress::Adapter::Deflate 2.030 ; +use IO::Compress::Adapter::Identity 2.030 ; +use IO::Compress::Zlib::Extra 2.030 ; +use IO::Compress::Zip::Constants 2.030 ; -use Compress::Raw::Zlib 2.027 qw(crc32) ; +use Compress::Raw::Zlib 2.030 qw(crc32) ; BEGIN { eval { require IO::Compress::Adapter::Bzip2 ; - import IO::Compress::Adapter::Bzip2 2.027 ; + import IO::Compress::Adapter::Bzip2 2.030 ; require IO::Compress::Bzip2 ; - import IO::Compress::Bzip2 2.027 ; + import IO::Compress::Bzip2 2.030 ; } ; # eval { require IO::Compress::Adapter::Lzma ; # import IO::Compress::Adapter::Lzma 2.020 ; # require IO::Compress::Lzma ; -# import IO::Compress::Lzma 2.027 ; +# import IO::Compress::Lzma 2.030 ; # } ; } @@ -32,7 +32,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError); -$VERSION = '2.027'; +$VERSION = '2.030'; $ZipError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); @@ -156,7 +156,7 @@ sub mkHeader my $extFileAttr = 0 ; # This code assumes Unix. - $extFileAttr = 0666 << 16 + $extFileAttr = 0100644 << 16 if $osCode == ZIP_OS_CODE_UNIX ; if (*$self->{ZipData}{Zip64}) { @@ -513,8 +513,8 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.027 qw(:Parse); - use Compress::Raw::Zlib 2.027 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); + use IO::Compress::Base::Common 2.030 qw(:Parse); + use Compress::Raw::Zlib 2.030 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); my @Bzip2 = (); @@ -540,7 +540,7 @@ sub getExtraParams 'exUnix2' => [0, 1, Parse_any, undef], 'ExtAttr' => [0, 1, Parse_any, $Compress::Raw::Zlib::gzip_os_code == 3 - ? 0666 << 16 + ? 0100644 << 16 : 0], 'OS_Code' => [0, 1, Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code], @@ -1058,15 +1058,21 @@ This parameter defaults to 0. =item C<< Name => $string >> -Stores the contents of C<$string> in the zip filename header field. If -C is not specified, no zip filename field will be created. +Stores the contents of C<$string> in the zip filename header field. + +If C is not specified and the C<$input> parameter is a filename that +will be used for the zip filename header field. + +If C is not specified and the C<$input> parameter is not a filename, +no zip filename field will be created. =item C<< Time => $number >> Sets the last modified time field in the zip header to $number. This field defaults to the time the C object was created -if this option is not specified. +if this option is not specified and the C<$input> parameter is not a +filename. =item C<< ExtAttr => $attr >> @@ -1075,7 +1081,7 @@ header of the zip file. This is a 4 byte field. If you are running a Unix derivative this value defaults to - 0666 << 16 + 0100644 << 16 This should allow read/write access to any files that are extracted from the zip file/buffer. diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm index 2166fb1fb5..e843c59946 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.027'; +$VERSION = '2.030'; @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 bc98dfff5b..af5aee5fa6 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.027'; +$VERSION = '2.030'; @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 f36c86f85f..0c21887ba0 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.027'; +$VERSION = '2.030'; -use IO::Compress::Gzip::Constants 2.027 ; +use IO::Compress::Gzip::Constants 2.030 ; 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 a3253654b9..913a0a780b 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.027 qw(:Status); +use IO::Compress::Base::Common 2.030 qw(:Status); -use Compress::Raw::Bzip2 2.027 ; +use Compress::Raw::Bzip2 2.030 ; our ($VERSION, @ISA); -$VERSION = '2.027'; +$VERSION = '2.030'; 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 2ba1a6266f..c4671dc5cc 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm @@ -4,13 +4,13 @@ use warnings; use strict; use bytes; -use IO::Compress::Base::Common 2.027 qw(:Status); +use IO::Compress::Base::Common 2.030 qw(:Status); our ($VERSION); -$VERSION = '2.027'; +$VERSION = '2.030'; -use Compress::Raw::Zlib 2.027 (); +use Compress::Raw::Zlib 2.030 (); 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 4dffd666f2..19788521de 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.027 qw(:Status); -use Compress::Raw::Zlib 2.027 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); +use IO::Compress::Base::Common 2.030 qw(:Status); +use Compress::Raw::Zlib 2.030 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); our ($VERSION); -$VERSION = '2.027'; +$VERSION = '2.030'; diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm index 0d01f7b9cf..37d2b167e6 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.027 qw(createSelfTiedObject); +use IO::Compress::Base::Common 2.030 qw(createSelfTiedObject); -use IO::Uncompress::Adapter::Inflate 2.027 (); +use IO::Uncompress::Adapter::Inflate 2.030 (); -use IO::Uncompress::Base 2.027 ; -use IO::Uncompress::Gunzip 2.027 ; -use IO::Uncompress::Inflate 2.027 ; -use IO::Uncompress::RawInflate 2.027 ; -use IO::Uncompress::Unzip 2.027 ; +use IO::Uncompress::Base 2.030 ; +use IO::Uncompress::Gunzip 2.030 ; +use IO::Uncompress::Inflate 2.030 ; +use IO::Uncompress::RawInflate 2.030 ; +use IO::Uncompress::Unzip 2.030 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError); -$VERSION = '2.027'; +$VERSION = '2.030'; $AnyInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -48,7 +48,7 @@ sub anyinflate sub getExtraParams { - use IO::Compress::Base::Common 2.027 qw(:Parse); + use IO::Compress::Base::Common 2.030 qw(:Parse); return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm index 206a0ed86a..c7d503152a 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.027 qw(createSelfTiedObject); +use IO::Compress::Base::Common 2.030 qw(createSelfTiedObject); -use IO::Uncompress::Base 2.027 ; +use IO::Uncompress::Base 2.030 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError); -$VERSION = '2.027'; +$VERSION = '2.030'; $AnyUncompressError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -27,22 +27,22 @@ Exporter::export_ok_tags('all'); BEGIN { - eval ' use IO::Uncompress::Adapter::Inflate 2.027 ;'; - eval ' use IO::Uncompress::Adapter::Bunzip2 2.027 ;'; - eval ' use IO::Uncompress::Adapter::LZO 2.027 ;'; - eval ' use IO::Uncompress::Adapter::Lzf 2.027 ;'; + eval ' use IO::Uncompress::Adapter::Inflate 2.030 ;'; + eval ' use IO::Uncompress::Adapter::Bunzip2 2.030 ;'; + eval ' use IO::Uncompress::Adapter::LZO 2.030 ;'; + eval ' use IO::Uncompress::Adapter::Lzf 2.030 ;'; eval ' use IO::Uncompress::Adapter::UnLzma 2.020 ;'; eval ' use IO::Uncompress::Adapter::UnXz 2.020 ;'; - eval ' use IO::Uncompress::Bunzip2 2.027 ;'; - eval ' use IO::Uncompress::UnLzop 2.027 ;'; - eval ' use IO::Uncompress::Gunzip 2.027 ;'; - eval ' use IO::Uncompress::Inflate 2.027 ;'; - eval ' use IO::Uncompress::RawInflate 2.027 ;'; - eval ' use IO::Uncompress::Unzip 2.027 ;'; - eval ' use IO::Uncompress::UnLzf 2.027 ;'; - eval ' use IO::Uncompress::UnLzma 2.027 ;'; - eval ' use IO::Uncompress::UnXz 2.027 ;'; + eval ' use IO::Uncompress::Bunzip2 2.030 ;'; + eval ' use IO::Uncompress::UnLzop 2.030 ;'; + eval ' use IO::Uncompress::Gunzip 2.030 ;'; + eval ' use IO::Uncompress::Inflate 2.030 ;'; + eval ' use IO::Uncompress::RawInflate 2.030 ;'; + eval ' use IO::Uncompress::Unzip 2.030 ;'; + eval ' use IO::Uncompress::UnLzf 2.030 ;'; + eval ' use IO::Uncompress::UnLzma 2.030 ;'; + eval ' use IO::Uncompress::UnXz 2.030 ;'; } sub new @@ -60,7 +60,7 @@ sub anyuncompress sub getExtraParams { - use IO::Compress::Base::Common 2.027 qw(:Parse); + use IO::Compress::Base::Common 2.030 qw(:Parse); return ( 'RawInflate' => [1, 1, Parse_boolean, 0] , 'UnLzma' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm index e73bb9d83b..2814163e2f 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(Exporter IO::File); -$VERSION = '2.027'; +$VERSION = '2.030'; use constant G_EOF => 0 ; use constant G_ERR => -1 ; -use IO::Compress::Base::Common 2.027 ; +use IO::Compress::Base::Common 2.030 ; #use Parse::Parameters ; use IO::File ; @@ -980,7 +980,7 @@ sub gotoNextStream #*$self->{EndStream} = 0 ; if ( ! defined $magic) { - if (! *$self->{Transparent} ) + if (! *$self->{Transparent} || $self->eof()) { *$self->{EndStream} = 1 ; return 0; diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm index a96c0235e7..288ead181c 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.027 qw(:Status createSelfTiedObject); +use IO::Compress::Base::Common 2.030 qw(:Status createSelfTiedObject); -use IO::Uncompress::Base 2.027 ; -use IO::Uncompress::Adapter::Bunzip2 2.027 ; +use IO::Uncompress::Base 2.030 ; +use IO::Uncompress::Adapter::Bunzip2 2.030 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error); -$VERSION = '2.027'; +$VERSION = '2.030'; $Bunzip2Error = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -40,7 +40,7 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.027 qw(:Parse); + use IO::Compress::Base::Common 2.030 qw(:Parse); return ( 'Verbosity' => [1, 1, Parse_boolean, 0], diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm index d13514101d..4b10f4bb28 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.027 ; +use IO::Uncompress::RawInflate 2.030 ; -use Compress::Raw::Zlib 2.027 qw( crc32 ) ; -use IO::Compress::Base::Common 2.027 qw(:Status createSelfTiedObject); -use IO::Compress::Gzip::Constants 2.027 ; -use IO::Compress::Zlib::Extra 2.027 ; +use Compress::Raw::Zlib 2.030 qw( crc32 ) ; +use IO::Compress::Base::Common 2.030 qw(:Status createSelfTiedObject); +use IO::Compress::Gzip::Constants 2.030 ; +use IO::Compress::Zlib::Extra 2.030 ; require Exporter ; @@ -28,7 +28,7 @@ Exporter::export_ok_tags('all'); $GunzipError = ''; -$VERSION = '2.027'; +$VERSION = '2.030'; sub new { @@ -47,7 +47,7 @@ sub gunzip sub getExtraParams { - use IO::Compress::Base::Common 2.027 qw(:Parse); + use IO::Compress::Base::Common 2.030 qw(:Parse); return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm index 86abb50d60..27c1d8584d 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.027 qw(:Status createSelfTiedObject); -use IO::Compress::Zlib::Constants 2.027 ; +use IO::Compress::Base::Common 2.030 qw(:Status createSelfTiedObject); +use IO::Compress::Zlib::Constants 2.030 ; -use IO::Uncompress::RawInflate 2.027 ; +use IO::Uncompress::RawInflate 2.030 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError); -$VERSION = '2.027'; +$VERSION = '2.030'; $InflateError = ''; @ISA = qw( Exporter IO::Uncompress::RawInflate ); diff --git a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm index 609928fd4e..12e915b625 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.027 ; -use IO::Compress::Base::Common 2.027 qw(:Status createSelfTiedObject); +use Compress::Raw::Zlib 2.030 ; +use IO::Compress::Base::Common 2.030 qw(:Status createSelfTiedObject); -use IO::Uncompress::Base 2.027 ; -use IO::Uncompress::Adapter::Inflate 2.027 ; +use IO::Uncompress::Base 2.030 ; +use IO::Uncompress::Adapter::Inflate 2.030 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError); -$VERSION = '2.027'; +$VERSION = '2.030'; $RawInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm index 17cc78d7b6..fe75213231 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm @@ -8,14 +8,14 @@ use strict ; use warnings; use bytes; -use IO::Uncompress::RawInflate 2.027 ; -use IO::Compress::Base::Common 2.027 qw(:Status createSelfTiedObject); -use IO::Uncompress::Adapter::Inflate 2.027 ; -use IO::Uncompress::Adapter::Identity 2.027 ; -use IO::Compress::Zlib::Extra 2.027 ; -use IO::Compress::Zip::Constants 2.027 ; +use IO::Uncompress::RawInflate 2.030 ; +use IO::Compress::Base::Common 2.030 qw(:Status createSelfTiedObject); +use IO::Uncompress::Adapter::Inflate 2.030 ; +use IO::Uncompress::Adapter::Identity 2.030 ; +use IO::Compress::Zlib::Extra 2.030 ; +use IO::Compress::Zip::Constants 2.030 ; -use Compress::Raw::Zlib 2.027 qw(crc32) ; +use Compress::Raw::Zlib 2.030 qw(crc32) ; BEGIN { @@ -30,7 +30,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup); -$VERSION = '2.027'; +$VERSION = '2.030'; $UnzipError = ''; @ISA = qw(Exporter IO::Uncompress::RawInflate); @@ -63,7 +63,7 @@ sub unzip sub getExtraParams { - use IO::Compress::Base::Common 2.027 qw(:Parse); + use IO::Compress::Base::Common 2.030 qw(:Parse); return ( @@ -1056,54 +1056,57 @@ C option. =head2 Examples -To read the contents of the file C and write the -uncompressed data to the file C. +Say you have a zip file, C, that only contains a +single member, you can read it and write the uncompressed data to the +file C like this. use strict ; use warnings ; use IO::Uncompress::Unzip qw(unzip $UnzipError) ; - my $input = "file1.txt.zip"; + my $input = "file1.zip"; my $output = "file1.txt"; unzip $input => $output or die "unzip failed: $UnzipError\n"; -To read from an existing Perl filehandle, C<$input>, and write the -uncompressed data to a buffer, C<$buffer>. +If you have a zip file that contains multiple members and want to read a +specific member from the file, say C<"data1">, use the C option use strict ; use warnings ; use IO::Uncompress::Unzip qw(unzip $UnzipError) ; - use IO::File ; - my $input = new IO::File " \$buffer + my $input = "file1.zip"; + my $output = "file1.txt"; + unzip $input => $output, Name => "data1" or die "unzip failed: $UnzipError\n"; -To uncompress all files in the directory "/my/home" that match "*.txt.zip" and store the compressed data in the same directory +Alternatively, if you want to read the C<"data1"> member into memory, use +a scalar reference for the C partameter. use strict ; use warnings ; use IO::Uncompress::Unzip qw(unzip $UnzipError) ; - unzip '' => '' + my $input = "file1.zip"; + my $output ; + unzip $input => \$output, Name => "data1" or die "unzip failed: $UnzipError\n"; + # $output now contains the uncompressed data -and if you want to compress each file one at a time, this will do the trick +To read from an existing Perl filehandle, C<$input>, and write the +uncompressed data to a buffer, C<$buffer>. use strict ; use warnings ; use IO::Uncompress::Unzip qw(unzip $UnzipError) ; + use IO::File ; - for my $input ( glob "/my/home/*.txt.zip" ) - { - my $output = $input; - $output =~ s/.zip// ; - unzip $input => $output - or die "Error compressing '$input': $UnzipError\n"; - } + my $input = new IO::File " \$buffer + or die "unzip failed: $UnzipError\n"; =head1 OO Interface @@ -1165,7 +1168,7 @@ OPTS is a combination of the following options: =item C<< Name => "membername" >> -Create "membername" in the zip file. +Open "membername" from the zip file for reading. =item C<< AutoClose => 0|1 >> @@ -1513,6 +1516,43 @@ Same as doing this See L +=head2 Walking through a zip file + +The code below can be used to traverse a zip file, one compressed data +stream at a time. + + use IO::Uncompress::Unzip qw($UnzipError); + + my $zipfile = "somefile.zip"; + my $u = new IO::Uncompress::Unzip $zipfile + or die "Cannot open $zipfile: $UnzipError"; + + my $status; + for ($status = 1; ! $u->eof(); $status = $u->nextStream()) + { + + my $name = $u->getHeaderInfo()->{Name}; + warn "Processing member $name\n" ; + + my $buff; + while (($status = $u->read($buff)) > 0) { + # Do something here + } + + last if $status < 0; + } + + die "Error processing $zipfile: $!\n" + if $status < 0 ; + +Each individual compressed data stream is read until the logical +end-of-file is reached. Then C is called. This will skip to the +start of the next compressed data stream and clear the end-of-file flag. + +It is also worth noting that C can be called at any time -- you +don't have to wait until you have exhausted a compressed data stream before +skipping to the next one. + =head1 SEE ALSO L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L diff --git a/cpan/IO-Compress/t/000prereq.t b/cpan/IO-Compress/t/000prereq.t index cfc7e2eae0..e98673b2c4 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.027'; + my $VERSION = '2.030'; my @NAMES = qw( Compress::Raw::Bzip2 Compress::Raw::Zlib diff --git a/cpan/IO-Compress/t/compress/multi.pl b/cpan/IO-Compress/t/compress/multi.pl index 3e9bbfd464..c6501f8f74 100644 --- a/cpan/IO-Compress/t/compress/multi.pl +++ b/cpan/IO-Compress/t/compress/multi.pl @@ -13,7 +13,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 1324 + $extra ; + plan tests => 1828 + $extra ; use_ok('IO::Uncompress::AnyUncompress', qw($AnyUncompressError)) ; @@ -179,7 +179,9 @@ EOM } foreach my $unc ($UncompressClass, 'IO::Uncompress::AnyUncompress') { - title " Testing $CompressClass with $unc nextStream and $i streams, from $fb"; + + foreach my $trans (0, 1) { + title " Testing $CompressClass with $unc nextStream and $i streams, from $fb, Transparent => $trans"; $cc = $output ; if ($fb eq 'filehandle') { @@ -194,7 +196,7 @@ EOM AutoClose => 1, Append => 1, MultiStream => 0, - Transparent => 0) + Transparent => $trans) or diag $$UnError; isa_ok $gz, $UncompressClass, ' $gz' ; @@ -248,6 +250,7 @@ EOM or diag "Stream count is " . $gz->streamCount(); } + } } } } -- cgit v1.2.1