use warnings;
use bytes;
-use IO::Uncompress::RawInflate 2.010 ;
-use IO::Compress::Base::Common 2.010 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Identity 2.010 ;
-use IO::Compress::Zlib::Extra 2.010 ;
-use IO::Compress::Zip::Constants 2.010 ;
+use IO::Uncompress::RawInflate 2.012 ;
+use IO::Compress::Base::Common 2.012 qw(:Status createSelfTiedObject);
+use IO::Uncompress::Adapter::Inflate 2.012 ;
+use IO::Uncompress::Adapter::Identity 2.012 ;
+use IO::Compress::Zlib::Extra 2.012 ;
+use IO::Compress::Zip::Constants 2.012 ;
-use Compress::Raw::Zlib 2.010 qw(crc32) ;
+use Compress::Raw::Zlib 2.012 qw(crc32) ;
BEGIN
{
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
-$VERSION = '2.010';
+$VERSION = '2.012';
$UnzipError = '';
@ISA = qw(Exporter IO::Uncompress::RawInflate);
sub getExtraParams
{
- use IO::Compress::Base::Common 2.010 qw(:Parse);
+ use IO::Compress::Base::Common 2.012 qw(:Parse);
return (
return 1;
}
+sub mkUncomp
+{
+ my $self = shift ;
+ my $got = shift ;
+
+ my $magic = $self->ckMagic()
+ or return 0;
+
+ *$self->{Info} = $self->readHeader($magic)
+ or return undef ;
+
+ return 1;
+
+}
sub ckMagic
{
if ($compressedMethod == ZIP_CM_DEFLATE)
{
*$self->{Type} = 'zip-deflate';
+ my $obj = IO::Uncompress::Adapter::Inflate::mkUncompObject(1,0,0);
+
+ *$self->{Uncomp} = $obj;
+ *$self->{ZipData}{CRC32} = crc32(undef);
}
elsif ($compressedMethod == ZIP_CM_BZIP2)
{
- #if (! defined $IO::Uncompress::Adapter::Bunzip2::VERSION)
+ return $self->HeaderError("Unsupported Compression format $compressedMethod")
+ if ! defined $IO::Uncompress::Adapter::Bunzip2::VERSION ;
*$self->{Type} = 'zip-bzip2';
- my $obj = IO::Uncompress::Adapter::Bunzip2::mkUncompObject(
- );
+ my $obj = IO::Uncompress::Adapter::Bunzip2::mkUncompObject();
*$self->{Uncomp} = $obj;
*$self->{ZipData}{CRC32} = crc32(undef);
-
}
elsif ($compressedMethod == ZIP_CM_STORE)
{
*$self->{Type} = 'zip-stored';
- my $obj = IO::Uncompress::Adapter::Identity::mkUncompObject(# $got->value('CRC32'),
- # $got->value('ADLER32'),
- );
+ my $obj = IO::Uncompress::Adapter::Identity::mkUncompObject();
*$self->{Uncomp} = $obj;
-
}
else
{
my $zipfile = "somefile.zip";
my $u = new IO::Uncompress::Unzip $zipfile
- or die "Cannot open $filefile: $UnzipError";
+ or die "Cannot open $zipfile: $UnzipError";
- for (my $status = 1; ! $u->eof(); $status = $u->nextStream())
+ my $status;
+ for ($status = 1; ! $u->eof(); $status = $u->nextStream())
+ {
my $name = $u->getHeaderInfo()->{Name};
warn "Processing member $name\n" ;