summaryrefslogtreecommitdiff
path: root/cpan/IO-Compress
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-11-10 23:57:07 +0000
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-11-11 00:18:54 +0000
commitbe0289ac5c2b662422f64a227eaf31bc406df15c (patch)
tree8bb297a4e890bb4a56f9da423e8be68d4498532e /cpan/IO-Compress
parent14c0f22a0f8ffd6e3f345a58a7f0022484e138ac (diff)
downloadperl-be0289ac5c2b662422f64a227eaf31bc406df15c.tar.gz
Update IO-Compress to CPAN version 2.057
[DELTA] 2.057 10 November 2012 * IO::Compress::Zip Allow member name & Zip Comment to be "0" * IO::Compress::Base::Common Remove "-r" test - the file open will catch this. RT# 80855: IO::Compress::Base::Common returns that it cannot read readable files in NFS * RT# 79820: Install to 'site' instead of 'perl' when perl version is 5.11+ * General Performance improvements.
Diffstat (limited to 'cpan/IO-Compress')
-rw-r--r--cpan/IO-Compress/Changes13
-rw-r--r--cpan/IO-Compress/Makefile.PL4
-rw-r--r--cpan/IO-Compress/README6
-rw-r--r--cpan/IO-Compress/lib/Compress/Zlib.pm60
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm6
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm6
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm4
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Base.pm63
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Base/Common.pm353
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Bzip2.pm36
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Deflate.pm20
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Gzip.pm112
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm2
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm55
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Zip.pm281
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm2
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm2
-rw-r--r--cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm4
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm6
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm6
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm6
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm37
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm66
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Base.pm137
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm24
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm28
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm21
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm31
-rw-r--r--cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm47
-rw-r--r--cpan/IO-Compress/t/000prereq.t2
-rw-r--r--cpan/IO-Compress/t/006zip.t30
-rw-r--r--cpan/IO-Compress/t/01misc.t110
32 files changed, 829 insertions, 751 deletions
diff --git a/cpan/IO-Compress/Changes b/cpan/IO-Compress/Changes
index d02b19fcae..8ad6fe73a4 100644
--- a/cpan/IO-Compress/Changes
+++ b/cpan/IO-Compress/Changes
@@ -1,6 +1,19 @@
CHANGES
-------
+ 2.057 10 November 2012
+
+ * IO::Compress::Zip
+ Allow member name & Zip Comment to be "0"
+
+ * IO::Compress::Base::Common
+ Remove "-r" test - the file open will catch this.
+ RT# 80855: IO::Compress::Base::Common returns that it cannot read readable files in NFS
+
+ * RT# 79820: Install to 'site' instead of 'perl' when perl version is 5.11+
+
+ * General Performance improvements.
+
2.055 5 August 2012
* FAQ
diff --git a/cpan/IO-Compress/Makefile.PL b/cpan/IO-Compress/Makefile.PL
index 9252165c9a..9a7e31fe82 100644
--- a/cpan/IO-Compress/Makefile.PL
+++ b/cpan/IO-Compress/Makefile.PL
@@ -3,7 +3,7 @@
use strict ;
require 5.006 ;
-$::VERSION = '2.055' ;
+$::VERSION = '2.057' ;
use private::MakeUtil;
use ExtUtils::MakeMaker 5.16 ;
@@ -39,7 +39,7 @@ WriteMakefile(
: ()
),
- INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'),
+ INSTALLDIRS => ($] >= 5.009 && $] < 5.011 ? 'perl' : 'site'),
EXE_FILES => ['bin/zipdetails'],
diff --git a/cpan/IO-Compress/README b/cpan/IO-Compress/README
index af73e99f98..8973f7c1f3 100644
--- a/cpan/IO-Compress/README
+++ b/cpan/IO-Compress/README
@@ -1,9 +1,9 @@
IO-Compress
- Version 2.055
+ Version 2.057
- 5th August 2012
+ 10th November 2012
Copyright (c) 1995-2012 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.055" ;
+ $VERSION = "2.057" ;
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 3f28578fd8..ac43436308 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.055 ;
-use Compress::Raw::Zlib 2.055 ;
-use IO::Compress::Gzip 2.055 ;
-use IO::Uncompress::Gunzip 2.055 ;
+use IO::Compress::Base::Common 2.057 ;
+use Compress::Raw::Zlib 2.057 ;
+use IO::Compress::Gzip 2.057 ;
+use IO::Uncompress::Gunzip 2.057 ;
use strict ;
use warnings ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.055';
+$VERSION = '2.057';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -365,31 +365,31 @@ sub deflateInit(@)
{
my ($got) = ParseParameters(0,
{
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
- 'Level' => [1, 1, Parse_signed, Z_DEFAULT_COMPRESSION()],
- 'Method' => [1, 1, Parse_unsigned, Z_DEFLATED()],
- 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()],
- 'MemLevel' => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()],
- 'Strategy' => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()],
- 'Dictionary' => [1, 1, Parse_any, ""],
+ 'bufsize' => [IO::Compress::Base::Common::Parse_unsigned, 4096],
+ 'level' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_COMPRESSION()],
+ 'method' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFLATED()],
+ 'windowbits' => [IO::Compress::Base::Common::Parse_signed, MAX_WBITS()],
+ 'memlevel' => [IO::Compress::Base::Common::Parse_unsigned, MAX_MEM_LEVEL()],
+ 'strategy' => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFAULT_STRATEGY()],
+ 'dictionary' => [IO::Compress::Base::Common::Parse_any, ""],
}, @_ ) ;
croak "Compress::Zlib::deflateInit: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
+ $got->getValue('bufsize')
+ unless $got->getValue('bufsize') >= 1;
my $obj ;
my $status = 0 ;
($obj, $status) =
Compress::Raw::Zlib::_deflateInit(0,
- $got->value('Level'),
- $got->value('Method'),
- $got->value('WindowBits'),
- $got->value('MemLevel'),
- $got->value('Strategy'),
- $got->value('Bufsize'),
- $got->value('Dictionary')) ;
+ $got->getValue('level'),
+ $got->getValue('method'),
+ $got->getValue('windowbits'),
+ $got->getValue('memlevel'),
+ $got->getValue('strategy'),
+ $got->getValue('bufsize'),
+ $got->getValue('dictionary')) ;
my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldDeflate" : undef) ;
return wantarray ? ($x, $status) : $x ;
@@ -399,22 +399,22 @@ sub inflateInit(@)
{
my ($got) = ParseParameters(0,
{
- 'Bufsize' => [1, 1, Parse_unsigned, 4096],
- 'WindowBits' => [1, 1, Parse_signed, MAX_WBITS()],
- 'Dictionary' => [1, 1, Parse_any, ""],
+ 'bufsize' => [IO::Compress::Base::Common::Parse_unsigned, 4096],
+ 'windowbits' => [IO::Compress::Base::Common::Parse_signed, MAX_WBITS()],
+ 'dictionary' => [IO::Compress::Base::Common::Parse_any, ""],
}, @_) ;
croak "Compress::Zlib::inflateInit: Bufsize must be >= 1, you specified " .
- $got->value('Bufsize')
- unless $got->value('Bufsize') >= 1;
+ $got->getValue('bufsize')
+ unless $got->getValue('bufsize') >= 1;
my $status = 0 ;
my $obj ;
($obj, $status) = Compress::Raw::Zlib::_inflateInit(FLAG_CONSUME_INPUT,
- $got->value('WindowBits'),
- $got->value('Bufsize'),
- $got->value('Dictionary')) ;
+ $got->getValue('windowbits'),
+ $got->getValue('bufsize'),
+ $got->getValue('dictionary')) ;
my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldInflate" : undef) ;
@@ -461,7 +461,7 @@ sub inflate
package Compress::Zlib ;
-use IO::Compress::Gzip::Constants 2.055 ;
+use IO::Compress::Gzip::Constants 2.057 ;
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 162801781a..2971e92e7c 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.055 qw(:Status);
+use IO::Compress::Base::Common 2.057 qw(:Status);
-use Compress::Raw::Bzip2 2.055 ;
+use Compress::Raw::Bzip2 2.057 ;
our ($VERSION);
-$VERSION = '2.055';
+$VERSION = '2.057';
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 1bb20131b0..b3b9f53b5a 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.055 qw(:Status);
-use Compress::Raw::Zlib 2.055 qw( !crc32 !adler32 ) ;
+use IO::Compress::Base::Common 2.057 qw(:Status);
+use Compress::Raw::Zlib 2.057 qw( !crc32 !adler32 ) ;
require Exporter;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
-$VERSION = '2.055';
+$VERSION = '2.057';
@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 e15e1074cf..3e8c4c885e 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.055 qw(:Status);
+use IO::Compress::Base::Common 2.057 qw(:Status);
our ($VERSION);
-$VERSION = '2.055';
+$VERSION = '2.057';
sub mkCompObject
{
diff --git a/cpan/IO-Compress/lib/IO/Compress/Base.pm b/cpan/IO-Compress/lib/IO/Compress/Base.pm
index 6427eea71f..a18793e046 100644
--- a/cpan/IO-Compress/lib/IO/Compress/Base.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/Base.pm
@@ -6,10 +6,10 @@ require 5.006 ;
use strict ;
use warnings;
-use IO::Compress::Base::Common 2.055 ;
+use IO::Compress::Base::Common 2.057 ;
-use IO::File qw(SEEK_SET SEEK_END); ;
-use Scalar::Util qw(blessed readonly);
+use IO::File (); ;
+use Scalar::Util ();
#use File::Glob;
#require Exporter ;
@@ -20,7 +20,7 @@ use bytes;
our (@ISA, $VERSION);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.055';
+$VERSION = '2.057';
#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.
@@ -92,11 +92,11 @@ sub writeAt
my $here = tell(*$self->{FH});
return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!)
if $here < 0 ;
- seek(*$self->{FH}, $offset, SEEK_SET)
+ seek(*$self->{FH}, $offset, IO::Handle::SEEK_SET)
or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
defined *$self->{FH}->write($data, length $data)
or return $self->saveErrorString(undef, $!, $!) ;
- seek(*$self->{FH}, $here, SEEK_SET)
+ seek(*$self->{FH}, $here, IO::Handle::SEEK_SET)
or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
}
else {
@@ -143,10 +143,21 @@ sub output
sub getOneShotParams
{
- return ( 'MultiStream' => [1, 1, Parse_boolean, 1],
+ return ( 'multistream' => [IO::Compress::Base::Common::Parse_boolean, 1],
);
}
+our %PARAMS = (
+ # Generic Parameters
+ 'autoclose' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ #'encode' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'strict' => [IO::Compress::Base::Common::Parse_boolean, 1],
+ 'append' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'binmodein' => [IO::Compress::Base::Common::Parse_boolean, 0],
+
+ 'filtercontainer' => [IO::Compress::Base::Common::Parse_code, undef],
+ );
+
sub checkParams
{
my $self = shift ;
@@ -156,20 +167,14 @@ sub checkParams
$got->parse(
{
- # Generic Parameters
- 'AutoClose' => [1, 1, Parse_boolean, 0],
- #'Encode' => [1, 1, Parse_any, undef],
- 'Strict' => [0, 1, Parse_boolean, 1],
- 'Append' => [1, 1, Parse_boolean, 0],
- 'BinModeIn' => [1, 1, Parse_boolean, 0],
+ %PARAMS,
- 'FilterContainer' => [1, 1, Parse_code, undef],
$self->getExtraParams(),
*$self->{OneShot} ? $self->getOneShotParams()
: (),
},
- @_) or $self->croakError("${class}: $got->{Error}") ;
+ @_) or $self->croakError("${class}: " . $got->getError()) ;
return $got ;
}
@@ -195,9 +200,9 @@ sub _create
or return undef ;
}
- my $lax = ! $got->value('Strict') ;
+ my $lax = ! $got->getValue('strict') ;
- my $outType = whatIsOutput($outValue);
+ my $outType = IO::Compress::Base::Common::whatIsOutput($outValue);
$obj->ckOutputParam($class, $outValue)
or return undef ;
@@ -211,10 +216,10 @@ sub _create
}
# Merge implies Append
- my $merge = $got->value('Merge') ;
- my $appendOutput = $got->value('Append') || $merge ;
+ my $merge = $got->getValue('merge') ;
+ my $appendOutput = $got->getValue('append') || $merge ;
*$obj->{Append} = $appendOutput;
- *$obj->{FilterContainer} = $got->value('FilterContainer') ;
+ *$obj->{FilterContainer} = $got->getValue('filtercontainer') ;
if ($merge)
{
@@ -231,8 +236,8 @@ sub _create
- if ($got->parsed('Encode')) {
- my $want_encoding = $got->value('Encode');
+ if ($got->parsed('encode')) {
+ my $want_encoding = $got->getValue('encode');
*$obj->{Encoding} = getEncoding($obj, $class, $want_encoding);
}
@@ -263,7 +268,7 @@ sub _create
*$obj->{Handle} = 1 ;
if ($appendOutput)
{
- seek(*$obj->{FH}, 0, SEEK_END)
+ seek(*$obj->{FH}, 0, IO::Handle::SEEK_END)
or return $obj->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
}
@@ -292,7 +297,7 @@ sub _create
}
*$obj->{Closed} = 0 ;
- *$obj->{AutoClose} = $got->value('AutoClose') ;
+ *$obj->{AutoClose} = $got->getValue('autoclose') ;
*$obj->{Output} = $outValue;
*$obj->{ClassName} = $class;
*$obj->{Got} = $got;
@@ -305,7 +310,7 @@ sub ckOutputParam
{
my $self = shift ;
my $from = shift ;
- my $outType = whatIsOutput($_[0]);
+ my $outType = IO::Compress::Base::Common::whatIsOutput($_[0]);
$self->croakError("$from: output parameter not a filename, filehandle or scalar ref")
if ! $outType ;
@@ -314,7 +319,7 @@ sub ckOutputParam
#if $outType eq 'filename' && (! defined $_[0] || $_[0] eq '') ;
$self->croakError("$from: output buffer is read-only")
- if $outType eq 'buffer' && readonly(${ $_[0] });
+ if $outType eq 'buffer' && Scalar::Util::readonly(${ $_[0] });
return 1;
}
@@ -490,7 +495,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 if *$self->{Got}->valueOrDefault('binmodein') ;
my $status ;
my $buff ;
@@ -523,7 +528,7 @@ sub addInterStream
my $input = shift ;
my $inputIsFilename = shift ;
- if (*$self->{Got}->value('MultiStream'))
+ if (*$self->{Got}->getValue('multistream'))
{
$self->getFileInfo(*$self->{Got}, $input)
#if isaFilename($input) and $inputIsFilename ;
@@ -532,7 +537,7 @@ sub addInterStream
# TODO -- newStream needs to allow gzip/zip header to be modified
return $self->newStream();
}
- elsif (*$self->{Got}->value('AutoFlush'))
+ elsif (*$self->{Got}->getValue('autoflush'))
{
#return $self->flush(Z_FULL_FLUSH);
}
diff --git a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
index a125ca515a..deb545dfa4 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.055';
+$VERSION = '2.057';
@EXPORT = qw( isaFilehandle isaFilename isaScalar
whatIsInput whatIsOutput
@@ -377,10 +377,10 @@ sub IO::Compress::Base::Validator::validateInputFilenames
return $self->saveErrorString("input file '$filename' is a directory");
}
- if (! -r _ )
- {
- return $self->saveErrorString("cannot open file '$filename': $!");
- }
+# if (! -r _ )
+# {
+# return $self->saveErrorString("cannot open file '$filename': $!");
+# }
}
return 1 ;
@@ -472,7 +472,7 @@ $EXPORT_TAGS{Parse} = [qw( ParseParameters
Parse_any Parse_unsigned Parse_signed
Parse_boolean Parse_string
Parse_code
- Parse_multiple Parse_writable_scalar
+ Parse_writable_scalar
)
];
@@ -486,7 +486,7 @@ use constant Parse_string => 0x10;
use constant Parse_code => 0x20;
#use constant Parse_store_ref => 0x100 ;
-use constant Parse_multiple => 0x100 ;
+#use constant Parse_multiple => 0x100 ;
use constant Parse_writable => 0x200 ;
use constant Parse_writable_scalar => 0x400 | Parse_writable ;
@@ -494,10 +494,11 @@ use constant OFF_PARSED => 0 ;
use constant OFF_TYPE => 1 ;
use constant OFF_DEFAULT => 2 ;
use constant OFF_FIXED => 3 ;
-use constant OFF_FIRST_ONLY => 4 ;
-use constant OFF_STICKY => 5 ;
-
+#use constant OFF_FIRST_ONLY => 4 ;
+#use constant OFF_STICKY => 5 ;
+use constant IxError => 0;
+use constant IxGot => 1 ;
sub ParseParameters
{
@@ -511,27 +512,60 @@ sub ParseParameters
my $p = new IO::Compress::Base::Parameters() ;
$p->parse(@_)
- or croak "$sub: $p->{Error}" ;
+ or croak "$sub: $p->[IxError]" ;
return $p;
}
-#package IO::Compress::Base::Parameters;
use strict;
use warnings;
use Carp;
+
+sub Init
+{
+ my $default = shift ;
+ my %got ;
+
+ my $obj = IO::Compress::Base::Parameters::new();
+ while (my ($key, $v) = each %$default)
+ {
+ croak "need 2 params [@$v]"
+ if @$v != 2 ;
+
+ my ($type, $value) = @$v ;
+# my ($first_only, $sticky, $type, $value) = @$v ;
+ my $sticky = 0;
+ my $x ;
+ $obj->_checkType($key, \$value, $type, 0, \$x)
+ or return undef ;
+
+ $key = lc $key;
+
+# if (! $sticky) {
+# $x = []
+# if $type & Parse_multiple;
+
+# $got{$key} = [0, $type, $value, $x, $first_only, $sticky] ;
+ $got{$key} = [0, $type, $value, $x] ;
+# }
+#
+# $got{$key}[OFF_PARSED] = 0 ;
+ }
+
+ return bless \%got, "IO::Compress::Base::Parameters::Defaults" ;
+}
+
sub IO::Compress::Base::Parameters::new
{
- my $class = shift ;
+ #my $class = shift ;
- my $obj = { Error => '',
- Got => {},
- } ;
+ my $obj;
+ $obj->[IxError] = '';
+ $obj->[IxGot] = {} ;
- #return bless $obj, ref($class) || $class || __PACKAGE__ ;
return bless $obj, 'IO::Compress::Base::Parameters' ;
}
@@ -541,25 +575,24 @@ sub IO::Compress::Base::Parameters::setError
my $error = shift ;
my $retval = @_ ? shift : undef ;
- $self->{Error} = $error ;
+
+ $self->[IxError] = $error ;
return $retval;
}
-#sub getError
-#{
-# my $self = shift ;
-# return $self->{Error} ;
-#}
+sub IO::Compress::Base::Parameters::getError
+{
+ my $self = shift ;
+ return $self->[IxError] ;
+}
sub IO::Compress::Base::Parameters::parse
{
my $self = shift ;
-
my $default = shift ;
- my $got = $self->{Got} ;
+ my $got = $self->[IxGot] ;
my $firstTime = keys %{ $got } == 0 ;
- my $other;
my (@Bad) ;
my @entered = () ;
@@ -581,63 +614,35 @@ sub IO::Compress::Base::Parameters::parse
}
}
else {
+
my $count = @_;
return $self->setError("Expected even number of parameters, got $count")
if $count % 2 != 0 ;
for my $i (0.. $count / 2 - 1) {
- if ($_[2 * $i] eq '__xxx__') {
- $other = $_[2 * $i + 1] ;
- }
- else {
- push @entered, $_[2 * $i] ;
- push @entered, \$_[2 * $i + 1] ;
- }
+ push @entered, $_[2 * $i] ;
+ push @entered, \$_[2 * $i + 1] ;
}
}
-
- while (my ($key, $v) = each %$default)
- {
- croak "need 4 params [@$v]"
- if @$v != 4 ;
-
- my ($first_only, $sticky, $type, $value) = @$v ;
- my $x ;
- $self->_checkType($key, \$value, $type, 0, \$x)
- or return undef ;
-
- $key = lc $key;
-
- if ($firstTime || ! $sticky) {
- $x = []
- if $type & Parse_multiple;
-
- $got->{$key} = [0, $type, $value, $x, $first_only, $sticky] ;
+ foreach my $key (keys %$default)
+ {
+
+ my ($type, $value) = @{ $default->{$key} } ;
+
+ if ($firstTime) {
+ $got->{$key} = [0, $type, $value, $value] ;
+ }
+ else
+ {
+ $got->{$key}[OFF_PARSED] = 0 ;
+ }
}
- $got->{$key}[OFF_PARSED] = 0 ;
- }
my %parsed = ();
- if ($other)
- {
- for my $key (keys %$default)
- {
- my $canonkey = lc $key;
- if ($other->parsed($canonkey))
- {
- my $value = $other->value($canonkey);
-#print "SET '$canonkey' to $value [$$value]\n";
- ++ $parsed{$canonkey};
- $got->{$canonkey}[OFF_PARSED] = 1;
- $got->{$canonkey}[OFF_DEFAULT] = $value;
- $got->{$canonkey}[OFF_FIXED] = $value;
- }
- }
- }
-
+
for my $i (0.. @entered / 2 - 1) {
my $key = $entered[2* $i] ;
my $value = $entered[2* $i+1] ;
@@ -648,28 +653,22 @@ sub IO::Compress::Base::Parameters::parse
$key =~ s/^-// ;
my $canonkey = lc $key;
- if ($got->{$canonkey} && ($firstTime ||
- ! $got->{$canonkey}[OFF_FIRST_ONLY] ))
+ if ($got->{$canonkey})
{
my $type = $got->{$canonkey}[OFF_TYPE] ;
my $parsed = $parsed{$canonkey};
++ $parsed{$canonkey};
return $self->setError("Muliple instances of '$key' found")
- if $parsed && ($type & Parse_multiple) == 0 ;
+ if $parsed ;
my $s ;
$self->_checkType($key, $value, $type, 1, \$s)
or return undef ;
$value = $$value ;
- if ($type & Parse_multiple) {
- $got->{$canonkey}[OFF_PARSED] = 1;
- push @{ $got->{$canonkey}[OFF_FIXED] }, $s ;
- }
- else {
- $got->{$canonkey} = [1, $type, $value, $s] ;
- }
+ $got->{$canonkey} = [1, $type, $value, $s] ;
+
}
else
{ push (@Bad, $key) }
@@ -699,19 +698,19 @@ sub IO::Compress::Base::Parameters::_checkType
if ($type & Parse_writable_scalar)
{
return $self->setError("Parameter '$key' not writable")
- if $validate && readonly $$value ;
+ if readonly $$value ;
if (ref $$value)
{
return $self->setError("Parameter '$key' not a scalar reference")
- if $validate && ref $$value ne 'SCALAR' ;
+ if ref $$value ne 'SCALAR' ;
$$output = $$value ;
}
else
{
return $self->setError("Parameter '$key' not a scalar")
- if $validate && ref $value ne 'SCALAR' ;
+ if ref $value ne 'SCALAR' ;
$$output = $value ;
}
@@ -719,14 +718,6 @@ sub IO::Compress::Base::Parameters::_checkType
return 1;
}
-# if ($type & Parse_store_ref)
-# {
-# #$value = $$value
-# # if ref ${ $value } ;
-#
-# $$output = $value ;
-# return 1;
-# }
$value = $$value ;
@@ -737,20 +728,21 @@ sub IO::Compress::Base::Parameters::_checkType
}
elsif ($type & Parse_unsigned)
{
+
return $self->setError("Parameter '$key' must be an unsigned int, got 'undef'")
- if $validate && ! defined $value ;
+ if ! defined $value ;
return $self->setError("Parameter '$key' must be an unsigned int, got '$value'")
- if $validate && $value !~ /^\d+$/;
-
+ if $value !~ /^\d+$/;
+
$$output = defined $value ? $value : 0 ;
return 1;
}
elsif ($type & Parse_signed)
{
return $self->setError("Parameter '$key' must be a signed int, got 'undef'")
- if $validate && ! defined $value ;
+ if ! defined $value ;
return $self->setError("Parameter '$key' must be a signed int, got '$value'")
- if $validate && $value !~ /^-?\d+$/;
+ if $value !~ /^-?\d+$/;
$$output = defined $value ? $value : 0 ;
return 1 ;
@@ -758,50 +750,50 @@ sub IO::Compress::Base::Parameters::_checkType
elsif ($type & Parse_boolean)
{
return $self->setError("Parameter '$key' must be an int, got '$value'")
- if $validate && defined $value && $value !~ /^\d*$/;
- $$output = defined $value ? $value != 0 : 0 ;
+ if defined $value && $value !~ /^\d*$/;
+
+ $$output = defined $value && $value != 0 ? 1 : 0 ;
return 1;
}
- elsif ($type & Parse_code)
+
+ elsif ($type & Parse_string)
{
- return $self->setError("Parameter '$key' must be a code reference, got '$value'")
- if $validate && (! defined $value || ref $value ne 'CODE') ;
$$output = defined $value ? $value : "" ;
return 1;
}
- elsif ($type & Parse_string)
+ elsif ($type & Parse_code)
{
+ return $self->setError("Parameter '$key' must be a code reference, got '$value'")
+ if (! defined $value || ref $value ne 'CODE') ;
+
$$output = defined $value ? $value : "" ;
return 1;
}
-
+
$$output = $value ;
return 1;
}
-
-
sub IO::Compress::Base::Parameters::parsed
{
- my $self = shift ;
- my $name = shift ;
-
- return $self->{Got}{lc $name}[OFF_PARSED] ;
+ return $_[0]->[IxGot]{$_[1]}[OFF_PARSED] ;
}
-sub IO::Compress::Base::Parameters::value
-{
- my $self = shift ;
- my $name = shift ;
- if (@_)
- {
- $self->{Got}{lc $name}[OFF_PARSED] = 1;
- $self->{Got}{lc $name}[OFF_DEFAULT] = $_[0] ;
- $self->{Got}{lc $name}[OFF_FIXED] = $_[0] ;
- }
+sub IO::Compress::Base::Parameters::getValue
+{
+ return $_[0]->[IxGot]{$_[1]}[OFF_FIXED] ;
+}
+sub IO::Compress::Base::Parameters::setValue
+{
+ $_[0]->[IxGot]{$_[1]}[OFF_PARSED] = 1;
+ $_[0]->[IxGot]{$_[1]}[OFF_DEFAULT] = $_[2] ;
+ $_[0]->[IxGot]{$_[1]}[OFF_FIXED] = $_[2] ;
+}
- return $self->{Got}{lc $name}[OFF_FIXED] ;
+sub IO::Compress::Base::Parameters::valueRef
+{
+ return $_[0]->[IxGot]{$_[1]}[OFF_FIXED] ;
}
sub IO::Compress::Base::Parameters::valueOrDefault
@@ -810,33 +802,31 @@ sub IO::Compress::Base::Parameters::valueOrDefault
my $name = shift ;
my $default = shift ;
- my $value = $self->{Got}{lc $name}[OFF_DEFAULT] ;
-
+ my $value = $self->[IxGot]{$name}[OFF_DEFAULT] ;
+
return $value if defined $value ;
return $default ;
}
sub IO::Compress::Base::Parameters::wantValue
{
- my $self = shift ;
- my $name = shift ;
-
- return defined $self->{Got}{lc $name}[OFF_DEFAULT] ;
-
+ return defined $_[0]->[IxGot]{$_[1]}[OFF_DEFAULT] ;
}
sub IO::Compress::Base::Parameters::clone
{
my $self = shift ;
- my $obj = { };
+ my $obj = [] ;
my %got ;
- while (my ($k, $v) = each %{ $self->{Got} }) {
- $got{$k} = [ @$v ];
+ my $hash = $self->[IxGot] ;
+ for my $k (keys %{ $hash })
+ {
+ $got{$k} = [ @{ $hash->{$k} } ];
}
- $obj->{Error} = $self->{Error};
- $obj->{Got} = \%got ;
+ $obj->[IxError] = $self->[IxError];
+ $obj->[IxGot] = \%got ;
return bless $obj, 'IO::Compress::Base::Parameters' ;
}
@@ -850,27 +840,19 @@ use constant HIGH => 1;
sub new
{
- my $class = shift ;
-
- my $high = 0 ;
- my $low = 0 ;
-
- if (@_ == 2) {
- $high = shift ;
- $low = shift ;
- }
- elsif (@_ == 1) {
- $low = shift ;
- }
-
- bless [$low, $high], $class;
+ return bless [ 0, 0 ], $_[0]
+ if @_ == 1 ;
+
+ return bless [ $_[1], 0 ], $_[0]
+ if @_ == 2 ;
+
+ return bless [ $_[2], $_[1] ], $_[0]
+ if @_ == 3 ;
}
sub newUnpack_V64
{
- my $string = shift;
-
- my ($low, $hi) = unpack "V V", $string ;
+ my ($low, $hi) = unpack "V V", $_[0] ;
bless [ $low, $hi ], "U64";
}
@@ -884,64 +866,79 @@ sub newUnpack_V32
sub reset
{
- my $self = shift;
- $self->[HIGH] = $self->[LOW] = 0;
+ $_[0]->[HIGH] = $_[0]->[LOW] = 0;
}
sub clone
{
- my $self = shift;
- bless [ @$self ], ref $self ;
+ bless [ @{$_[0]} ], ref $_[0] ;
}
sub getHigh
{
- my $self = shift;
- return $self->[HIGH];
+ return $_[0]->[HIGH];
}
sub getLow
{
- my $self = shift;
- return $self->[LOW];
+ return $_[0]->[LOW];
}
sub get32bit
{
- my $self = shift;
- return $self->[LOW];
+ return $_[0]->[LOW];
}
sub get64bit
{
- my $self = shift;
# Not using << here because the result will still be
# a 32-bit value on systems where int size is 32-bits
- return $self->[HIGH] * HI_1 + $self->[LOW];
+ return $_[0]->[HIGH] * HI_1 + $_[0]->[LOW];
}
sub add
{
- my $self = shift;
- my $value = shift;
+# my $self = shift;
+ my $value = $_[1];
if (ref $value eq 'U64') {
- $self->[HIGH] += $value->[HIGH] ;
+ $_[0]->[HIGH] += $value->[HIGH] ;
$value = $value->[LOW];
}
elsif ($value > MAX32) {
- $self->[HIGH] += int($value / HI_1) ;
+ $_[0]->[HIGH] += int($value / HI_1) ;
+ $value = $value % HI_1;
+ }
+
+ my $available = MAX32 - $_[0]->[LOW] ;
+
+ if ($value > $available) {
+ ++ $_[0]->[HIGH] ;
+ $_[0]->[LOW] = $value - $available - 1;
+ }
+ else {
+ $_[0]->[LOW] += $value ;
+ }
+}
+
+sub add32
+{
+# my $self = shift;
+ my $value = $_[1];
+
+ if ($value > MAX32) {
+ $_[0]->[HIGH] += int($value / HI_1) ;
$value = $value % HI_1;
}
- my $available = MAX32 - $self->[LOW] ;
+ my $available = MAX32 - $_[0]->[LOW] ;
if ($value > $available) {
- ++ $self->[HIGH] ;
- $self->[LOW] = $value - $available - 1;
+ ++ $_[0]->[HIGH] ;
+ $_[0]->[LOW] = $value - $available - 1;
}
else {
- $self->[LOW] += $value ;
+ $_[0]->[LOW] += $value ;
}
}
@@ -1005,35 +1002,27 @@ sub cmp
sub is64bit
{
- my $self = shift;
- return $self->[HIGH] > 0 ;
+ return $_[0]->[HIGH] > 0 ;
}
sub isAlmost64bit
{
- my $self = shift;
- return $self->[HIGH] > 0 || $self->[LOW] == MAX32 ;
+ return $_[0]->[HIGH] > 0 || $_[0]->[LOW] == MAX32 ;
}
sub getPacked_V64
{
- my $self = shift;
-
- return pack "V V", @$self ;
+ return pack "V V", @{ $_[0] } ;
}
sub getPacked_V32
{
- my $self = shift;
-
- return pack "V", $self->[LOW] ;
+ return pack "V", $_[0]->[LOW] ;
}
sub pack_V64
{
- my $low = shift;
-
- return pack "V V", $low, 0;
+ return pack "V V", $_[0], 0;
}
diff --git a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
index f96d28d9c5..5500527886 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.055 ;
+use IO::Compress::Base 2.057 ;
-use IO::Compress::Base::Common 2.055 qw(createSelfTiedObject);
-use IO::Compress::Adapter::Bzip2 2.055 ;
+use IO::Compress::Base::Common 2.057 qw();
+use IO::Compress::Adapter::Bzip2 2.057 ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
-$VERSION = '2.055';
+$VERSION = '2.057';
$Bzip2Error = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -29,13 +29,13 @@ sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$Bzip2Error);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$Bzip2Error);
return $obj->_create(undef, @_);
}
sub bzip2
{
- my $obj = createSelfTiedObject(undef, \$Bzip2Error);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$Bzip2Error);
$obj->_def(@_);
}
@@ -51,12 +51,12 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.055 qw(:Parse);
+ use IO::Compress::Base::Common 2.057 qw(:Parse);
- return (
- 'BlockSize100K' => [0, 1, Parse_unsigned, 1],
- 'WorkFactor' => [0, 1, Parse_unsigned, 0],
- 'Verbosity' => [0, 1, Parse_boolean, 0],
+ return (
+ 'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned, 1],
+ 'workfactor' => [IO::Compress::Base::Common::Parse_unsigned, 0],
+ 'verbosity' => [IO::Compress::Base::Common::Parse_boolean, 0],
);
}
@@ -68,16 +68,16 @@ sub ckParams
my $got = shift;
# check that BlockSize100K is a number between 1 & 9
- if ($got->parsed('BlockSize100K')) {
- my $value = $got->value('BlockSize100K');
+ if ($got->parsed('blocksize100k')) {
+ my $value = $got->getValue('blocksize100k');
return $self->saveErrorString(undef, "Parameter 'BlockSize100K' not between 1 and 9, got $value")
unless defined $value && $value >= 1 && $value <= 9;
}
# check that WorkFactor between 0 & 250
- if ($got->parsed('WorkFactor')) {
- my $value = $got->value('WorkFactor');
+ if ($got->parsed('workfactor')) {
+ my $value = $got->getValue('workfactor');
return $self->saveErrorString(undef, "Parameter 'WorkFactor' not between 0 and 250, got $value")
unless $value >= 0 && $value <= 250;
}
@@ -91,9 +91,9 @@ sub mkComp
my $self = shift ;
my $got = shift ;
- my $BlockSize100K = $got->value('BlockSize100K');
- my $WorkFactor = $got->value('WorkFactor');
- my $Verbosity = $got->value('Verbosity');
+ my $BlockSize100K = $got->getValue('blocksize100k');
+ my $WorkFactor = $got->getValue('workfactor');
+ my $Verbosity = $got->getValue('verbosity');
my ($obj, $errstr, $errno) = IO::Compress::Adapter::Bzip2::mkCompObject(
$BlockSize100K, $WorkFactor,
diff --git a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
index 825d2ded73..e169b192f8 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.055 ();
-use IO::Compress::Adapter::Deflate 2.055 ;
+use IO::Compress::RawDeflate 2.057 ();
+use IO::Compress::Adapter::Deflate 2.057 ;
-use IO::Compress::Zlib::Constants 2.055 ;
-use IO::Compress::Base::Common 2.055 qw(createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.057 ;
+use IO::Compress::Base::Common 2.057 qw();
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$DeflateError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -32,13 +32,13 @@ sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$DeflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$DeflateError);
return $obj->_create(undef, @_);
}
sub deflate
{
- my $obj = createSelfTiedObject(undef, \$DeflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$DeflateError);
return $obj->_def(@_);
}
@@ -85,8 +85,8 @@ sub mkHeader
my $self = shift ;
my $param = shift ;
- my $level = $param->value('Level');
- my $strategy = $param->value('Strategy');
+ my $level = $param->getValue('level');
+ my $strategy = $param->getValue('strategy');
my $lflag ;
$level = 6
@@ -119,7 +119,7 @@ sub ckParams
my $self = shift ;
my $got = shift;
- $got->value('ADLER32' => 1);
+ $got->setValue('adler32' => 1);
return 1 ;
}
diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
index 1dd7ca71c4..702c6c72fb 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.055 () ;
-use IO::Compress::Adapter::Deflate 2.055 ;
+use IO::Compress::RawDeflate 2.057 () ;
+use IO::Compress::Adapter::Deflate 2.057 ;
-use IO::Compress::Base::Common 2.055 qw(:Status :Parse isaScalar createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.055 ;
-use IO::Compress::Zlib::Extra 2.055 ;
+use IO::Compress::Base::Common 2.057 qw(:Status );
+use IO::Compress::Gzip::Constants 2.057 ;
+use IO::Compress::Zlib::Extra 2.057 ;
BEGIN
{
@@ -25,7 +25,7 @@ BEGIN
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$GzipError = '' ;
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -39,7 +39,7 @@ sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$GzipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$GzipError);
$obj->_create(undef, @_);
}
@@ -47,7 +47,7 @@ sub new
sub gzip
{
- my $obj = createSelfTiedObject(undef, \$GzipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$GzipError);
return $obj->_def(@_);
}
@@ -65,17 +65,17 @@ sub getExtraParams
return (
# zlib behaviour
$self->getZlibParams(),
-
+
# Gzip header fields
- 'Minimal' => [0, 1, Parse_boolean, 0],
- 'Comment' => [0, 1, Parse_any, undef],
- 'Name' => [0, 1, Parse_any, undef],
- 'Time' => [0, 1, Parse_any, undef],
- 'TextFlag' => [0, 1, Parse_boolean, 0],
- 'HeaderCRC' => [0, 1, Parse_boolean, 0],
- 'OS_Code' => [0, 1, Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code],
- 'ExtraField'=> [0, 1, Parse_any, undef],
- 'ExtraFlags'=> [0, 1, Parse_any, undef],
+ 'minimal' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'comment' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'name' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'time' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'textflag' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'headercrc' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'os_code' => [IO::Compress::Base::Common::Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code],
+ 'extrafield'=> [IO::Compress::Base::Common::Parse_any, undef],
+ 'extraflags'=> [IO::Compress::Base::Common::Parse_any, undef],
);
}
@@ -87,24 +87,24 @@ sub ckParams
my $got = shift ;
# gzip always needs crc32
- $got->value('CRC32' => 1);
+ $got->setValue('crc32' => 1);
return 1
- if $got->value('Merge') ;
+ if $got->getValue('merge') ;
- my $strict = $got->value('Strict') ;
+ my $strict = $got->getValue('strict') ;
{
- if (! $got->parsed('Time') ) {
+ if (! $got->parsed('time') ) {
# Modification time defaults to now.
- $got->value('Time' => time) ;
+ $got->setValue(time => time) ;
}
# Check that the Name & Comment don't have embedded NULLs
# Also check that they only contain ISO 8859-1 chars.
- if ($got->parsed('Name') && defined $got->value('Name')) {
- my $name = $got->value('Name');
+ if ($got->parsed('name') && defined $got->getValue('name')) {
+ my $name = $got->getValue('name');
return $self->saveErrorString(undef, "Null Character found in Name",
Z_DATA_ERROR)
@@ -115,8 +115,8 @@ sub ckParams
if $strict && $name =~ /$GZIP_FNAME_INVALID_CHAR_RE/o ;
}
- if ($got->parsed('Comment') && defined $got->value('Comment')) {
- my $comment = $got->value('Comment');
+ if ($got->parsed('comment') && defined $got->getValue('comment')) {
+ my $comment = $got->getValue('comment');
return $self->saveErrorString(undef, "Null Character found in Comment",
Z_DATA_ERROR)
@@ -127,8 +127,8 @@ sub ckParams
if $strict && $comment =~ /$GZIP_FCOMMENT_INVALID_CHAR_RE/o;
}
- if ($got->parsed('OS_Code') ) {
- my $value = $got->value('OS_Code');
+ if ($got->parsed('os_code') ) {
+ my $value = $got->getValue('os_code');
return $self->saveErrorString(undef, "OS_Code must be between 0 and 255, got '$value'")
if $value < 0 || $value > 255 ;
@@ -136,22 +136,22 @@ sub ckParams
}
# gzip only supports Deflate at present
- $got->value('Method' => Z_DEFLATED) ;
+ $got->setValue('method' => Z_DEFLATED) ;
- if ( ! $got->parsed('ExtraFlags')) {
- $got->value('ExtraFlags' => 2)
- if $got->value('Level') == Z_BEST_COMPRESSION ;
- $got->value('ExtraFlags' => 4)
- if $got->value('Level') == Z_BEST_SPEED ;
+ if ( ! $got->parsed('extraflags')) {
+ $got->setValue('extraflags' => 2)
+ if $got->getValue('level') == Z_BEST_COMPRESSION ;
+ $got->setValue('extraflags' => 4)
+ if $got->getValue('level') == Z_BEST_SPEED ;
}
- my $data = $got->value('ExtraField') ;
+ my $data = $got->getValue('extrafield') ;
if (defined $data) {
my $bad = IO::Compress::Zlib::Extra::parseExtraField($data, $strict, 1) ;
return $self->saveErrorString(undef, "Error with ExtraField Parameter: $bad", Z_DATA_ERROR)
if $bad ;
- $got->value('ExtraField', $data) ;
+ $got->setValue('extrafield' => $data) ;
}
}
@@ -177,15 +177,15 @@ sub getFileInfo
my $params = shift;
my $filename = shift ;
- return if isaScalar($filename);
+ return if IO::Compress::Base::Common::isaScalar($filename);
my $defaultTime = (stat($filename))[9] ;
- $params->value('Name' => $filename)
- if ! $params->parsed('Name') ;
+ $params->setValue('name' => $filename)
+ if ! $params->parsed('name') ;
- $params->value('Time' => $defaultTime)
- if ! $params->parsed('Time') ;
+ $params->setValue('time' => $defaultTime)
+ if ! $params->parsed('time') ;
}
@@ -195,27 +195,27 @@ sub mkHeader
my $param = shift ;
# stort-circuit if a minimal header is requested.
- return GZIP_MINIMUM_HEADER if $param->value('Minimal') ;
+ return GZIP_MINIMUM_HEADER if $param->getValue('minimal') ;
# METHOD
- my $method = $param->valueOrDefault('Method', GZIP_CM_DEFLATED) ;
+ my $method = $param->valueOrDefault('method', GZIP_CM_DEFLATED) ;
# FLAGS
my $flags = GZIP_FLG_DEFAULT ;
- $flags |= GZIP_FLG_FTEXT if $param->value('TextFlag') ;
- $flags |= GZIP_FLG_FHCRC if $param->value('HeaderCRC') ;
- $flags |= GZIP_FLG_FEXTRA if $param->wantValue('ExtraField') ;
- $flags |= GZIP_FLG_FNAME if $param->wantValue('Name') ;
- $flags |= GZIP_FLG_FCOMMENT if $param->wantValue('Comment') ;
+ $flags |= GZIP_FLG_FTEXT if $param->getValue('textflag') ;
+ $flags |= GZIP_FLG_FHCRC if $param->getValue('headercrc') ;
+ $flags |= GZIP_FLG_FEXTRA if $param->wantValue('extrafield') ;
+ $flags |= GZIP_FLG_FNAME if $param->wantValue('name') ;
+ $flags |= GZIP_FLG_FCOMMENT if $param->wantValue('comment') ;
# MTIME
- my $time = $param->valueOrDefault('Time', GZIP_MTIME_DEFAULT) ;
+ my $time = $param->valueOrDefault('time', GZIP_MTIME_DEFAULT) ;
# EXTRA FLAGS
- my $extra_flags = $param->valueOrDefault('ExtraFlags', GZIP_XFL_DEFAULT);
+ my $extra_flags = $param->valueOrDefault('extraflags', GZIP_XFL_DEFAULT);
# OS CODE
- my $os_code = $param->valueOrDefault('OS_Code', GZIP_OS_DEFAULT) ;
+ my $os_code = $param->valueOrDefault('os_code', GZIP_OS_DEFAULT) ;
my $out = pack("C4 V C C",
@@ -230,13 +230,13 @@ sub mkHeader
# EXTRA
if ($flags & GZIP_FLG_FEXTRA) {
- my $extra = $param->value('ExtraField') ;
+ my $extra = $param->getValue('extrafield') ;
$out .= pack("v", length $extra) . $extra ;
}
# NAME
if ($flags & GZIP_FLG_FNAME) {
- my $name .= $param->value('Name') ;
+ my $name .= $param->getValue('name') ;
$name =~ s/\x00.*$//;
$out .= $name ;
# Terminate the filename with NULL unless it already is
@@ -247,7 +247,7 @@ sub mkHeader
# COMMENT
if ($flags & GZIP_FLG_FCOMMENT) {
- my $comment .= $param->value('Comment') ;
+ my $comment .= $param->getValue('comment') ;
$comment =~ s/\x00.*$//;
$out .= $comment ;
# Terminate the comment with NULL unless it already is
@@ -257,7 +257,7 @@ sub mkHeader
}
# HEADER CRC
- $out .= pack("v", Compress::Raw::Zlib::crc32($out) & 0x00FF ) if $param->value('HeaderCRC') ;
+ $out .= pack("v", Compress::Raw::Zlib::crc32($out) & 0x00FF ) if $param->getValue('headercrc') ;
noUTF8($out);
diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
index 598d720726..d86624bda1 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.055';
+$VERSION = '2.057';
@ISA = qw(Exporter);
diff --git a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
index de33a02d42..d3f432c2b1 100644
--- a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
+++ b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
@@ -6,16 +6,15 @@ use strict ;
use warnings;
use bytes;
-
-use IO::Compress::Base 2.055 ;
-use IO::Compress::Base::Common 2.055 qw(:Status createSelfTiedObject);
-use IO::Compress::Adapter::Deflate 2.055 ;
+use IO::Compress::Base 2.057 ;
+use IO::Compress::Base::Common 2.057 qw(:Status );
+use IO::Compress::Adapter::Deflate 2.057 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$RawDeflateError = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -49,14 +48,14 @@ sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$RawDeflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$RawDeflateError);
return $obj->_create(undef, @_);
}
sub rawdeflate
{
- my $obj = createSelfTiedObject(undef, \$RawDeflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$RawDeflateError);
return $obj->_def(@_);
}
@@ -74,10 +73,10 @@ sub mkComp
my $got = shift ;
my ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(
- $got->value('CRC32'),
- $got->value('Adler32'),
- $got->value('Level'),
- $got->value('Strategy')
+ $got->getValue('crc32'),
+ $got->getValue('adler32'),
+ $got->getValue('level'),
+ $got->getValue('strategy')
);
return $self->saveErrorString(undef, $errstr, $errno)
@@ -114,30 +113,24 @@ sub mkFinalTrailer
sub getExtraParams
{
my $self = shift ;
- return $self->getZlibParams();
+ return getZlibParams();
}
-sub getZlibParams
-{
- my $self = shift ;
-
- use IO::Compress::Base::Common 2.055 qw(:Parse);
- use Compress::Raw::Zlib 2.055 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+use IO::Compress::Base::Common 2.057 qw(:Parse);
+use Compress::Raw::Zlib 2.057 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],
+ 'strategy' => [IO::Compress::Base::Common::Parse_signed, Z_DEFAULT_STRATEGY],
-
- return (
-
- # zlib behaviour
- #'Method' => [0, 1, Parse_unsigned, Z_DEFLATED],
- 'Level' => [0, 1, Parse_signed, Z_DEFAULT_COMPRESSION],
- 'Strategy' => [0, 1, Parse_signed, Z_DEFAULT_STRATEGY],
-
- 'CRC32' => [0, 1, Parse_boolean, 0],
- 'ADLER32' => [0, 1, Parse_boolean, 0],
- 'Merge' => [1, 1, Parse_boolean, 0],
+ 'crc32' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'adler32' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'merge' => [IO::Compress::Base::Common::Parse_boolean, 0],
);
-
-
+
+sub getZlibParams
+{
+ return %PARAMS;
}
sub getInverseClass
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip.pm b/cpan/IO-Compress/lib/IO/Compress/Zip.pm
index e25b8fd9b2..3c66ae75ef 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.055 qw(:Status MAX32 isGeMax32 isaScalar createSelfTiedObject);
-use IO::Compress::RawDeflate 2.055 ();
-use IO::Compress::Adapter::Deflate 2.055 ;
-use IO::Compress::Adapter::Identity 2.055 ;
-use IO::Compress::Zlib::Extra 2.055 ;
-use IO::Compress::Zip::Constants 2.055 ;
+use IO::Compress::Base::Common 2.057 qw(:Status );
+use IO::Compress::RawDeflate 2.057 ();
+use IO::Compress::Adapter::Deflate 2.057 ;
+use IO::Compress::Adapter::Identity 2.057 ;
+use IO::Compress::Zlib::Extra 2.057 ;
+use IO::Compress::Zip::Constants 2.057 ;
use File::Spec();
use Config;
-use Compress::Raw::Zlib 2.055 ();
+use Compress::Raw::Zlib 2.057 ();
BEGIN
{
eval { require IO::Compress::Adapter::Bzip2 ;
- import IO::Compress::Adapter::Bzip2 2.055 ;
+ import IO::Compress::Adapter::Bzip2 2.057 ;
require IO::Compress::Bzip2 ;
- import IO::Compress::Bzip2 2.055 ;
+ import IO::Compress::Bzip2 2.057 ;
} ;
eval { require IO::Compress::Adapter::Lzma ;
- import IO::Compress::Adapter::Lzma 2.055 ;
+ import IO::Compress::Adapter::Lzma 2.057 ;
require IO::Compress::Lzma ;
- import IO::Compress::Lzma 2.055 ;
+ import IO::Compress::Lzma 2.057 ;
} ;
}
@@ -36,7 +36,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$ZipError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@@ -54,14 +54,14 @@ sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$ZipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$ZipError);
$obj->_create(undef, @_);
}
sub zip
{
- my $obj = createSelfTiedObject(undef, \$ZipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$ZipError);
return $obj->_def(@_);
}
@@ -114,30 +114,30 @@ sub mkComp
if (*$self->{ZipData}{Method} == ZIP_CM_STORE) {
($obj, $errstr, $errno) = IO::Compress::Adapter::Identity::mkCompObject(
- $got->value('Level'),
- $got->value('Strategy')
+ $got->getValue('level'),
+ $got->getValue('strategy')
);
*$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
}
elsif (*$self->{ZipData}{Method} == ZIP_CM_DEFLATE) {
($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(
- $got->value('CRC32'),
- $got->value('Adler32'),
- $got->value('Level'),
- $got->value('Strategy')
+ $got->getValue('crc32'),
+ $got->getValue('adler32'),
+ $got->getValue('level'),
+ $got->getValue('strategy')
);
}
elsif (*$self->{ZipData}{Method} == ZIP_CM_BZIP2) {
($obj, $errstr, $errno) = IO::Compress::Adapter::Bzip2::mkCompObject(
- $got->value('BlockSize100K'),
- $got->value('WorkFactor'),
- $got->value('Verbosity')
+ $got->getValue('blocksize100k'),
+ $got->getValue('workfactor'),
+ $got->getValue('verbosity')
);
*$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
}
elsif (*$self->{ZipData}{Method} == ZIP_CM_LZMA) {
- ($obj, $errstr, $errno) = IO::Compress::Adapter::Lzma::mkRawZipCompObject($got->value('Preset'),
- $got->value('Extreme'),
+ ($obj, $errstr, $errno) = IO::Compress::Adapter::Lzma::mkRawZipCompObject($got->getValue('preset'),
+ $got->getValue('extreme'),
);
*$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
}
@@ -233,20 +233,20 @@ sub mkHeader
*$self->{ZipData}{LocalHdrOffset} = U64::clone(*$self->{ZipData}{Offset});
my $comment = '';
- $comment = $param->value('Comment') || '';
+ $comment = $param->valueOrDefault('comment') ;
my $filename = '';
- $filename = $param->value('Name') || '';
+ $filename = $param->valueOrDefault('name') ;
$filename = canonicalName($filename)
- if length $filename && $param->value('CanonicalName') ;
+ if length $filename && $param->getValue('canonicalname') ;
if (defined *$self->{ZipData}{FilterName} ) {
local *_ = \$filename ;
&{ *$self->{ZipData}{FilterName} }() ;
}
-# if ( $param->value('UTF8') ) {
+# if ( $param->getValue('utf8') ) {
# require Encode ;
# $filename = Encode::encode_utf8($filename)
# if length $filename ;
@@ -256,12 +256,12 @@ sub mkHeader
my $hdr = '';
- my $time = _unixToDosTime($param->value('Time'));
+ my $time = _unixToDosTime($param->getValue('time'));
my $extra = '';
my $ctlExtra = '';
my $empty = 0;
- my $osCode = $param->value('OS_Code') ;
+ my $osCode = $param->getValue('os_code') ;
my $extFileAttr = 0 ;
# This code assumes Unix.
@@ -270,7 +270,7 @@ sub mkHeader
if $osCode == ZIP_OS_CODE_UNIX ;
if (*$self->{ZipData}{Zip64}) {
- $empty = MAX32;
+ $empty = IO::Compress::Base::Common::MAX32;
my $x = '';
$x .= pack "V V", 0, 0 ; # uncompressedLength
@@ -278,40 +278,40 @@ sub mkHeader
$extra .= IO::Compress::Zlib::Extra::mkSubField(ZIP_EXTRA_ID_ZIP64, $x);
}
- if (! $param->value('Minimal')) {
- if ($param->parsed('MTime'))
+ if (! $param->getValue('minimal')) {
+ if ($param->parsed('mtime'))
{
- $extra .= mkExtendedTime($param->value('MTime'),
- $param->value('ATime'),
- $param->value('CTime'));
+ $extra .= mkExtendedTime($param->getValue('mtime'),
+ $param->getValue('atime'),
+ $param->getValue('ctime'));
- $ctlExtra .= mkExtendedTime($param->value('MTime'));
+ $ctlExtra .= mkExtendedTime($param->getValue('mtime'));
}
if ( $osCode == ZIP_OS_CODE_UNIX )
{
- if ( $param->value('want_exUnixN') )
+ if ( $param->getValue('want_exunixn') )
{
- my $ux3 = mkUnixNExtra( @{ $param->value('want_exUnixN') });
+ my $ux3 = mkUnixNExtra( @{ $param->getValue('want_exunixn') });
$extra .= $ux3;
$ctlExtra .= $ux3;
}
- if ( $param->value('exUnix2') )
+ if ( $param->getValue('exunix2') )
{
- $extra .= mkUnix2Extra( @{ $param->value('exUnix2') });
+ $extra .= mkUnix2Extra( @{ $param->getValue('exunix2') });
$ctlExtra .= mkUnix2Extra();
}
}
- $extFileAttr = $param->value('ExtAttr')
- if defined $param->value('ExtAttr') ;
+ $extFileAttr = $param->getValue('extattr')
+ if defined $param->getValue('extattr') ;
- $extra .= $param->value('ExtraFieldLocal')
- if defined $param->value('ExtraFieldLocal');
+ $extra .= $param->getValue('extrafieldlocal')
+ if defined $param->getValue('extrafieldlocal');
- $ctlExtra .= $param->value('ExtraFieldCentral')
- if defined $param->value('ExtraFieldCentral');
+ $ctlExtra .= $param->getValue('extrafieldcentral')
+ if defined $param->getValue('extrafieldcentral');
}
my $method = *$self->{ZipData}{Method} ;
@@ -323,13 +323,13 @@ sub mkHeader
if $method == ZIP_CM_LZMA ;
#$gpFlag |= ZIP_GP_FLAG_LANGUAGE_ENCODING
- #if $param->value('UTF8') && length($filename) + length($comment);
+ #if $param->getValue('utf8') && length($filename) + length($comment);
my $version = $ZIP_CM_MIN_VERSIONS{$method};
$version = ZIP64_MIN_VERSION
if ZIP64_MIN_VERSION > $version && *$self->{ZipData}{Zip64};
- my $madeBy = ($param->value('OS_Code') << 8) + $version;
+ my $madeBy = ($param->getValue('os_code') << 8) + $version;
my $extract = $version;
*$self->{ZipData}{Version} = $version;
@@ -337,7 +337,7 @@ sub mkHeader
my $ifa = 0;
$ifa |= ZIP_IFA_TEXT_MASK
- if $param->value('TextFlag');
+ if $param->getValue('textflag');
$hdr .= pack "V", ZIP_LOCAL_HDR_SIG ; # signature
$hdr .= pack 'v', $extract ; # extract Version & OS
@@ -390,7 +390,7 @@ sub mkHeader
# offset to local hdr
if (*$self->{ZipData}{LocalHdrOffset}->is64bit() ) {
- $ctl .= pack 'V', MAX32 ;
+ $ctl .= pack 'V', IO::Compress::Base::Common::MAX32 ;
}
else {
$ctl .= *$self->{ZipData}{LocalHdrOffset}->getPacked_V32() ;
@@ -400,7 +400,7 @@ sub mkHeader
$ctl .= $ctlExtra ;
$ctl .= $comment ;
- *$self->{ZipData}{Offset}->add(length $hdr) ;
+ *$self->{ZipData}{Offset}->add32(length $hdr) ;
*$self->{ZipData}{CentralHeader} = $ctl;
@@ -488,7 +488,7 @@ sub mkTrailer
*$self->{ZipData}{AnyZip64} = 1;
}
- *$self->{ZipData}{Offset}->add(length($hdr));
+ *$self->{ZipData}{Offset}->add32(length($hdr));
*$self->{ZipData}{Offset}->add( *$self->{CompSize} );
push @{ *$self->{ZipData}{CentralDir} }, $ctl ;
@@ -531,15 +531,15 @@ sub mkFinalTrailer
. U64::pack_V64(length $z64e)
. $z64e ;
- *$self->{ZipData}{Offset}->add(length $cd) ;
+ *$self->{ZipData}{Offset}->add32(length $cd) ;
$z64e .= pack "V", ZIP64_END_CENTRAL_LOC_HDR_SIG; # signature
$z64e .= pack 'V', 0 ; # number of disk with central dir
$z64e .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to end zip64 central dir
$z64e .= pack 'V', 1 ; # Total number of disks
- $cd_offset = MAX32 ;
- $cd_len = MAX32 if isGeMax32 $cd_len ;
+ $cd_offset = IO::Compress::Base::Common::MAX32 ;
+ $cd_len = IO::Compress::Base::Common::MAX32 if IO::Compress::Base::Common::isGeMax32 $cd_len ;
$entries = 0xFFFF if $entries >= 0xFFFF ;
}
@@ -562,47 +562,47 @@ sub ckParams
my $self = shift ;
my $got = shift;
- $got->value('CRC32' => 1);
+ $got->setValue('crc32' => 1);
- if (! $got->parsed('Time') ) {
+ if (! $got->parsed('time') ) {
# Modification time defaults to now.
- $got->value('Time' => time) ;
+ $got->setValue('time' => time) ;
}
- if ($got->parsed('exTime') ) {
- my $timeRef = $got->value('exTime');
+ if ($got->parsed('extime') ) {
+ my $timeRef = $got->getValue('extime');
if ( defined $timeRef) {
return $self->saveErrorString(undef, "exTime not a 3-element array ref")
if ref $timeRef ne 'ARRAY' || @$timeRef != 3;
}
- $got->value("MTime", $timeRef->[1]);
- $got->value("ATime", $timeRef->[0]);
- $got->value("CTime", $timeRef->[2]);
+ $got->setValue("mtime", $timeRef->[1]);
+ $got->setValue("atime", $timeRef->[0]);
+ $got->setValue("ctime", $timeRef->[2]);
}
# Unix2/3 Extended Attribute
- for my $name (qw(exUnix2 exUnixN))
+ for my $name (qw(exunix2 exunixn))
{
if ($got->parsed($name) ) {
- my $idRef = $got->value($name);
+ my $idRef = $got->getValue($name);
if ( defined $idRef) {
return $self->saveErrorString(undef, "$name not a 2-element array ref")
if ref $idRef ne 'ARRAY' || @$idRef != 2;
}
- $got->value("UID", $idRef->[0]);
- $got->value("GID", $idRef->[1]);
- $got->value("want_$name", $idRef);
+ $got->setValue("uid", $idRef->[0]);
+ $got->setValue("gid", $idRef->[1]);
+ $got->setValue("want_$name", $idRef);
}
}
*$self->{ZipData}{AnyZip64} = 1
- if $got->value('Zip64');
- *$self->{ZipData}{Zip64} = $got->value('Zip64');
- *$self->{ZipData}{Stream} = $got->value('Stream');
+ if $got->getValue('zip64');
+ *$self->{ZipData}{Zip64} = $got->getValue('zip64');
+ *$self->{ZipData}{Stream} = $got->getValue('stream');
- my $method = $got->value('Method');
+ my $method = $got->getValue('method');
return $self->saveErrorString(undef, "Unknown Method '$method'")
if ! defined $ZIP_CM_MIN_VERSIONS{$method};
@@ -616,17 +616,17 @@ sub ckParams
*$self->{ZipData}{Method} = $method;
- *$self->{ZipData}{ZipComment} = $got->value('ZipComment') ;
+ *$self->{ZipData}{ZipComment} = $got->getValue('zipcomment') ;
- for my $name (qw( ExtraFieldLocal ExtraFieldCentral ))
+ for my $name (qw( extrafieldlocal extrafieldcentral ))
{
- my $data = $got->value($name) ;
+ my $data = $got->getValue($name) ;
if (defined $data) {
my $bad = IO::Compress::Zlib::Extra::parseExtraField($data, 1, 0) ;
return $self->saveErrorString(undef, "Error with $name Parameter: $bad")
if $bad ;
- $got->value($name, $data) ;
+ $got->setValue($name, $data) ;
}
}
@@ -634,13 +634,13 @@ sub ckParams
if defined $IO::Compress::Bzip2::VERSION
and ! IO::Compress::Bzip2::ckParams($self, $got);
- if ($got->parsed('Sparse') ) {
- *$self->{ZipData}{Sparse} = $got->value('Sparse') ;
+ if ($got->parsed('sparse') ) {
+ *$self->{ZipData}{Sparse} = $got->getValue('sparse') ;
*$self->{ZipData}{Method} = ZIP_CM_STORE;
}
- if ($got->parsed('FilterName')) {
- my $v = $got->value('FilterName') ;
+ if ($got->parsed('filtername')) {
+ my $v = $got->getValue('filtername') ;
*$self->{ZipData}{FilterName} = $v
if ref $v eq 'CODE' ;
}
@@ -663,58 +663,53 @@ sub outputPayload
# return $self->mkHeader(*$self->{Got});
#}
-sub getExtraParams
-{
- my $self = shift ;
-
- use IO::Compress::Base::Common 2.055 qw(:Parse);
- use Compress::Raw::Zlib 2.055 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
-
- my @Bzip2 = ();
-
- @Bzip2 = IO::Compress::Bzip2::getExtraParams($self)
- if defined $IO::Compress::Bzip2::VERSION;
-
- return (
- # zlib behaviour
- $self->getZlibParams(),
- 'Stream' => [1, 1, Parse_boolean, 1],
- #'Store' => [0, 1, Parse_boolean, 0],
- 'Method' => [0, 1, Parse_unsigned, ZIP_CM_DEFLATE],
+our %PARAMS = (
+ 'stream' => [IO::Compress::Base::Common::Parse_boolean, 1],
+ #'store' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'method' => [IO::Compress::Base::Common::Parse_unsigned, ZIP_CM_DEFLATE],
# # Zip header fields
- 'Minimal' => [0, 1, Parse_boolean, 0],
- 'Zip64' => [0, 1, Parse_boolean, 0],
- 'Comment' => [0, 1, Parse_any, ''],
- 'ZipComment'=> [0, 1, Parse_any, ''],
- 'Name' => [0, 1, Parse_any, ''],
- 'FilterName'=> [0, 1, Parse_code, undef],
- 'CanonicalName'=> [0, 1, Parse_boolean, 0],
- #'UTF8' => [0, 1, Parse_boolean, 0],
- 'Time' => [0, 1, Parse_any, undef],
- 'exTime' => [0, 1, Parse_any, undef],
- 'exUnix2' => [0, 1, Parse_any, undef],
- 'exUnixN' => [0, 1, Parse_any, undef],
- 'ExtAttr' => [0, 1, Parse_any,
+ 'minimal' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'zip64' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'comment' => [IO::Compress::Base::Common::Parse_any, ''],
+ 'zipcomment'=> [IO::Compress::Base::Common::Parse_any, ''],
+ 'name' => [IO::Compress::Base::Common::Parse_any, ''],
+ 'filtername'=> [IO::Compress::Base::Common::Parse_code, undef],
+ 'canonicalname'=> [IO::Compress::Base::Common::Parse_boolean, 0],
+ #'utf8' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'time' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'extime' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'exunix2' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'exunixn' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'extattr' => [IO::Compress::Base::Common::Parse_any,
$Compress::Raw::Zlib::gzip_os_code == 3
? 0100644 << 16
: 0],
- 'OS_Code' => [0, 1, Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code],
+ 'os_code' => [IO::Compress::Base::Common::Parse_unsigned, $Compress::Raw::Zlib::gzip_os_code],
- 'TextFlag' => [0, 1, Parse_boolean, 0],
- 'ExtraFieldLocal' => [0, 1, Parse_any, undef],
- 'ExtraFieldCentral'=> [0, 1, Parse_any, undef],
+ 'textflag' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'extrafieldlocal' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'extrafieldcentral'=> [IO::Compress::Base::Common::Parse_any, undef],
# Lzma
- 'Preset' => [0, 1, Parse_unsigned, 6],
- 'Extreme' => [1, 1, Parse_boolean, 0],
+ 'preset' => [IO::Compress::Base::Common::Parse_unsigned, 6],
+ 'extreme' => [IO::Compress::Base::Common::Parse_boolean, 0],
# For internal use only
- 'Sparse' => [0, 1, Parse_unsigned, 0],
+ 'sparse' => [IO::Compress::Base::Common::Parse_unsigned, 0],
+
+ IO::Compress::RawDeflate::getZlibParams(),
+ defined $IO::Compress::Bzip2::VERSION
+ ? IO::Compress::Bzip2::getExtraParams()
+ : ()
+
+
+ );
- @Bzip2,
- );
+sub getExtraParams
+{
+ return %PARAMS ;
}
sub getInverseClass
@@ -729,16 +724,16 @@ sub getFileInfo
my $params = shift;
my $filename = shift ;
- if (isaScalar($filename))
+ if (IO::Compress::Base::Common::isaScalar($filename))
{
- $params->value(Zip64 => 1)
- if isGeMax32 length (${ $filename }) ;
+ $params->setValue(zip64 => 1)
+ if IO::Compress::Base::Common::isGeMax32 length (${ $filename }) ;
return ;
}
my ($mode, $uid, $gid, $size, $atime, $mtime, $ctime) ;
- if ( $params->parsed('StoreLinks') )
+ if ( $params->parsed('storelinks') )
{
($mode, $uid, $gid, $size, $atime, $mtime, $ctime)
= (lstat($filename))[2, 4,5,7, 8,9,10] ;
@@ -749,40 +744,40 @@ sub getFileInfo
= (stat($filename))[2, 4,5,7, 8,9,10] ;
}
- $params->value(TextFlag => -T $filename )
- if ! $params->parsed('TextFlag');
+ $params->setValue(textflag => -T $filename )
+ if ! $params->parsed('textflag');
- $params->value(Zip64 => 1)
- if isGeMax32 $size ;
+ $params->setValue(zip64 => 1)
+ if IO::Compress::Base::Common::isGeMax32 $size ;
- $params->value('Name' => $filename)
- if ! $params->parsed('Name') ;
+ $params->setValue('name' => $filename)
+ if ! $params->parsed('name') ;
- $params->value('Time' => $mtime)
- if ! $params->parsed('Time') ;
+ $params->setValue('time' => $mtime)
+ if ! $params->parsed('time') ;
- if ( ! $params->parsed('exTime'))
+ if ( ! $params->parsed('extime'))
{
- $params->value('MTime' => $mtime) ;
- $params->value('ATime' => $atime) ;
- $params->value('CTime' => undef) ; # No Creation time
+ $params->setValue('mtime' => $mtime) ;
+ $params->setValue('atime' => $atime) ;
+ $params->setValue('ctime' => undef) ; # No Creation time
# TODO - see if can fillout creation time on non-Unix
}
# NOTE - Unix specific code alert
- if (! $params->parsed('ExtAttr'))
+ if (! $params->parsed('extattr'))
{
use Fcntl qw(:mode) ;
my $attr = $mode << 16;
$attr |= ZIP_A_RONLY if ($mode & S_IWRITE) == 0 ;
$attr |= ZIP_A_DIR if ($mode & S_IFMT ) == S_IFDIR ;
- $params->value('ExtAttr' => $attr);
+ $params->setValue('extattr' => $attr);
}
- $params->value('want_exUnixN', [$uid, $gid]);
- $params->value('UID' => $uid) ;
- $params->value('GID' => $gid) ;
+ $params->setValue('want_exunixn', [$uid, $gid]);
+ $params->setValue('uid' => $uid) ;
+ $params->setValue('gid' => $gid) ;
}
diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
index 390f10527f..3e1a0a0be9 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.055';
+$VERSION = '2.057';
@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 693b435b2c..a1b22d3a1b 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.055';
+$VERSION = '2.057';
@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 98873144d2..8b840fff3a 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.055';
+$VERSION = '2.057';
-use IO::Compress::Gzip::Constants 2.055 ;
+use IO::Compress::Gzip::Constants 2.057 ;
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 35ed15f322..c4c5e5c1a0 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.055 qw(:Status);
+use IO::Compress::Base::Common 2.057 qw(:Status);
-use Compress::Raw::Bzip2 2.055 ;
+use Compress::Raw::Bzip2 2.057 ;
our ($VERSION, @ISA);
-$VERSION = '2.055';
+$VERSION = '2.057';
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 bd33ebc76a..c4345bba3f 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.055 qw(:Status);
+use IO::Compress::Base::Common 2.057 qw(:Status);
use IO::Compress::Zip::Constants ;
our ($VERSION);
-$VERSION = '2.055';
+$VERSION = '2.057';
-use Compress::Raw::Zlib 2.055 ();
+use Compress::Raw::Zlib 2.057 ();
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 cfa4e98d50..f65ed67279 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.055 qw(:Status);
-use Compress::Raw::Zlib 2.055 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
+use IO::Compress::Base::Common 2.057 qw(:Status);
+use Compress::Raw::Zlib 2.057 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
our ($VERSION);
-$VERSION = '2.055';
+$VERSION = '2.057';
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
index 7a971fc3ed..d6602f0e22 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.055 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.057 ();
-use IO::Uncompress::Adapter::Inflate 2.055 ();
+use IO::Uncompress::Adapter::Inflate 2.057 ();
-use IO::Uncompress::Base 2.055 ;
-use IO::Uncompress::Gunzip 2.055 ;
-use IO::Uncompress::Inflate 2.055 ;
-use IO::Uncompress::RawInflate 2.055 ;
-use IO::Uncompress::Unzip 2.055 ;
+use IO::Uncompress::Base 2.057 ;
+use IO::Uncompress::Gunzip 2.057 ;
+use IO::Uncompress::Inflate 2.057 ;
+use IO::Uncompress::RawInflate 2.057 ;
+use IO::Uncompress::Unzip 2.057 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$AnyInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -36,20 +36,20 @@ Exporter::export_ok_tags('all');
sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$AnyInflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$AnyInflateError);
$obj->_create(undef, 0, @_);
}
sub anyinflate
{
- my $obj = createSelfTiedObject(undef, \$AnyInflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$AnyInflateError);
return $obj->_inf(@_) ;
}
sub getExtraParams
{
- use IO::Compress::Base::Common 2.055 qw(:Parse);
- return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ;
+ use IO::Compress::Base::Common 2.057 qw(:Parse);
+ return ( 'rawinflate' => [Parse_boolean, 0] ) ;
}
sub ckParams
@@ -58,8 +58,8 @@ sub ckParams
my $got = shift ;
# any always needs both crc32 and adler32
- $got->value('CRC32' => 1);
- $got->value('ADLER32' => 1);
+ $got->setValue('crc32' => 1);
+ $got->setValue('adler32' => 1);
return 1;
}
@@ -78,7 +78,7 @@ sub mkUncomp
my @possible = qw( Inflate Gunzip Unzip );
unshift @possible, 'RawInflate'
- if 1 || $got->value('RawInflate');
+ if 1 || $got->getValue('rawinflate');
my $magic = $self->ckMagic( @possible );
@@ -799,6 +799,13 @@ Provides a sub-set of the C<seek> functionality, with the restriction
that it is only legal to seek forward in the input file/buffer.
It is a fatal error to attempt to seek backward.
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
The C<$whence> parameter takes one the usual values, namely SEEK_SET,
SEEK_CUR or SEEK_END.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
index 1d93c4f018..53c9091100 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.055 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.057 ();
-use IO::Uncompress::Base 2.055 ;
+use IO::Uncompress::Base 2.057 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$AnyUncompressError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,42 +27,41 @@ Exporter::export_ok_tags('all');
BEGIN
{
- eval ' use IO::Uncompress::Adapter::Inflate 2.055 ;';
- eval ' use IO::Uncompress::Adapter::Bunzip2 2.055 ;';
- eval ' use IO::Uncompress::Adapter::LZO 2.055 ;';
- eval ' use IO::Uncompress::Adapter::Lzf 2.055 ;';
- eval ' use IO::Uncompress::Adapter::UnLzma 2.055 ;';
- eval ' use IO::Uncompress::Adapter::UnXz 2.055 ;';
-
- eval ' use IO::Uncompress::Bunzip2 2.055 ;';
- eval ' use IO::Uncompress::UnLzop 2.055 ;';
- eval ' use IO::Uncompress::Gunzip 2.055 ;';
- eval ' use IO::Uncompress::Inflate 2.055 ;';
- eval ' use IO::Uncompress::RawInflate 2.055 ;';
- eval ' use IO::Uncompress::Unzip 2.055 ;';
- eval ' use IO::Uncompress::UnLzf 2.055 ;';
- eval ' use IO::Uncompress::UnLzma 2.055 ;';
- eval ' use IO::Uncompress::UnXz 2.055 ;';
+ eval ' use IO::Uncompress::Adapter::Inflate 2.057 ;';
+ eval ' use IO::Uncompress::Adapter::Bunzip2 2.057 ;';
+ eval ' use IO::Uncompress::Adapter::LZO 2.057 ;';
+ eval ' use IO::Uncompress::Adapter::Lzf 2.057 ;';
+ eval ' use IO::Uncompress::Adapter::UnLzma 2.057 ;';
+ eval ' use IO::Uncompress::Adapter::UnXz 2.057 ;';
+
+ eval ' use IO::Uncompress::Bunzip2 2.057 ;';
+ eval ' use IO::Uncompress::UnLzop 2.057 ;';
+ eval ' use IO::Uncompress::Gunzip 2.057 ;';
+ eval ' use IO::Uncompress::Inflate 2.057 ;';
+ eval ' use IO::Uncompress::RawInflate 2.057 ;';
+ eval ' use IO::Uncompress::Unzip 2.057 ;';
+ eval ' use IO::Uncompress::UnLzf 2.057 ;';
+ eval ' use IO::Uncompress::UnLzma 2.057 ;';
+ eval ' use IO::Uncompress::UnXz 2.057 ;';
}
sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$AnyUncompressError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$AnyUncompressError);
$obj->_create(undef, 0, @_);
}
sub anyuncompress
{
- my $obj = createSelfTiedObject(undef, \$AnyUncompressError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$AnyUncompressError);
return $obj->_inf(@_) ;
}
sub getExtraParams
-{
- use IO::Compress::Base::Common 2.055 qw(:Parse);
- return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ,
- 'UnLzma' => [1, 1, Parse_boolean, 0] ) ;
+{
+ return ( 'rawinflate' => [IO::Compress::Base::Common::Parse_boolean, 0] ,
+ 'unlzma' => [IO::Compress::Base::Common::Parse_boolean, 0] ) ;
}
sub ckParams
@@ -71,8 +70,8 @@ sub ckParams
my $got = shift ;
# any always needs both crc32 and adler32
- $got->value('CRC32' => 1);
- $got->value('ADLER32' => 1);
+ $got->setValue('crc32' => 1);
+ $got->setValue('adler32' => 1);
return 1;
}
@@ -96,7 +95,7 @@ sub mkUncomp
my @possible = qw( Inflate Gunzip Unzip );
unshift @possible, 'RawInflate'
- if $got->value('RawInflate');
+ if $got->getValue('rawinflate');
$magic = $self->ckMagic( @possible );
@@ -108,7 +107,7 @@ sub mkUncomp
}
}
- if (defined $IO::Uncompress::UnLzma::VERSION && $got->value('UnLzma'))
+ if (defined $IO::Uncompress::UnLzma::VERSION && $got->getValue('unlzma'))
{
my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::UnLzma::mkUncompObject();
@@ -119,7 +118,7 @@ sub mkUncomp
my @possible = qw( UnLzma );
#unshift @possible, 'RawInflate'
- # if $got->value('RawInflate');
+ # if $got->getValue('rawinflate');
if ( *$self->{Info} = $self->ckMagic( @possible ))
{
@@ -847,6 +846,13 @@ Provides a sub-set of the C<seek> functionality, with the restriction
that it is only legal to seek forward in the input file/buffer.
It is a fatal error to attempt to seek backward.
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
The C<$whence> parameter takes one the usual values, namely SEEK_SET,
SEEK_CUR or SEEK_END.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
index 0b66385b25..5c34b819e8 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
@@ -9,17 +9,17 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.055';
+$VERSION = '2.057';
use constant G_EOF => 0 ;
use constant G_ERR => -1 ;
-use IO::Compress::Base::Common 2.055 ;
+use IO::Compress::Base::Common 2.057 ;
use IO::File ;
use Symbol;
-use Scalar::Util qw(readonly);
-use List::Util qw(min);
+use Scalar::Util ();
+use List::Util ();
use Carp ;
%EXPORT_TAGS = ( );
@@ -39,7 +39,7 @@ sub smartRead
if (defined *$self->{InputLength}) {
return 0
if *$self->{InputLengthRemaining} <= 0 ;
- $size = min($size, *$self->{InputLengthRemaining});
+ $size = List::Util::min($size, *$self->{InputLengthRemaining});
}
if ( length *$self->{Prime} ) {
@@ -348,34 +348,34 @@ sub checkParams
my $got = shift || IO::Compress::Base::Parameters::new();
my $Valid = {
- 'BlockSize' => [1, 1, Parse_unsigned, 16 * 1024],
- 'AutoClose' => [1, 1, Parse_boolean, 0],
- 'Strict' => [1, 1, Parse_boolean, 0],
- 'Append' => [1, 1, Parse_boolean, 0],
- 'Prime' => [1, 1, Parse_any, undef],
- 'MultiStream' => [1, 1, Parse_boolean, 0],
- 'Transparent' => [1, 1, Parse_any, 1],
- 'Scan' => [1, 1, Parse_boolean, 0],
- 'InputLength' => [1, 1, Parse_unsigned, undef],
- 'BinModeOut' => [1, 1, Parse_boolean, 0],
- #'Encode' => [1, 1, Parse_any, undef],
-
- #'ConsumeInput' => [1, 1, Parse_boolean, 0],
-
+ 'blocksize' => [IO::Compress::Base::Common::Parse_unsigned, 16 * 1024],
+ 'autoclose' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'strict' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'append' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'prime' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'multistream' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'transparent' => [IO::Compress::Base::Common::Parse_any, 1],
+ 'scan' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'inputlength' => [IO::Compress::Base::Common::Parse_unsigned, undef],
+ 'binmodeout' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ #'encode' => [IO::Compress::Base::Common::Parse_any, undef],
+
+ #'consumeinput' => [IO::Compress::Base::Common::Parse_boolean, 0],
+
$self->getExtraParams(),
#'Todo - Revert to ordinary file on end Z_STREAM_END'=> 0,
# ContinueAfterEof
} ;
- $Valid->{TrailingData} = [1, 1, Parse_writable_scalar, undef]
+ $Valid->{trailingdata} = [IO::Compress::Base::Common::Parse_writable_scalar, undef]
if *$self->{OneShot} ;
$got->parse($Valid, @_ )
- or $self->croakError("${class}: $got->{Error}") ;
+ or $self->croakError("${class}: " . $got->getError()) ;
$self->postCheckParams($got)
- or $self->croakError("${class}: " . $self->error()) ;
+ or $self->croakError("${class}: " . $self->error()) ;
return $got;
}
@@ -392,7 +392,7 @@ sub _create
my $inValue = shift ;
- *$obj->{OneShot} = 0 ;
+ *$obj->{OneShot} = 0 ;
if (! $got)
{
@@ -422,12 +422,12 @@ sub _create
# Need to rewind for Scan
*$obj->{FH}->seek(0, SEEK_SET)
- if $got->value('Scan');
+ if $got->getValue('scan');
}
else {
no warnings ;
my $mode = '<';
- $mode = '+<' if $got->value('Scan');
+ $mode = '+<' if $got->getValue('scan');
*$obj->{StdIO} = ($inValue eq '-');
*$obj->{FH} = new IO::File "$mode $inValue"
or return $obj->saveErrorString(undef, "cannot open file '$inValue': $!", $!) ;
@@ -440,32 +440,32 @@ sub _create
*$obj->{Buffer} = \$buff ;
}
- if ($got->parsed('Encode')) {
- my $want_encoding = $got->value('Encode');
+ if ($got->parsed('encode')) {
+ my $want_encoding = $got->getValue('encode');
*$obj->{Encoding} = getEncoding($obj, $class, $want_encoding);
}
- *$obj->{InputLength} = $got->parsed('InputLength')
- ? $got->value('InputLength')
+ *$obj->{InputLength} = $got->parsed('inputlength')
+ ? $got->getValue('inputlength')
: undef ;
- *$obj->{InputLengthRemaining} = $got->value('InputLength');
+ *$obj->{InputLengthRemaining} = $got->getValue('inputlength');
*$obj->{BufferOffset} = 0 ;
- *$obj->{AutoClose} = $got->value('AutoClose');
- *$obj->{Strict} = $got->value('Strict');
- *$obj->{BlockSize} = $got->value('BlockSize');
- *$obj->{Append} = $got->value('Append');
- *$obj->{AppendOutput} = $append_mode || $got->value('Append');
- *$obj->{ConsumeInput} = $got->value('ConsumeInput');
- *$obj->{Transparent} = $got->value('Transparent');
- *$obj->{MultiStream} = $got->value('MultiStream');
+ *$obj->{AutoClose} = $got->getValue('autoclose');
+ *$obj->{Strict} = $got->getValue('strict');
+ *$obj->{BlockSize} = $got->getValue('blocksize');
+ *$obj->{Append} = $got->getValue('append');
+ *$obj->{AppendOutput} = $append_mode || $got->getValue('append');
+ *$obj->{ConsumeInput} = $got->getValue('consumeinput');
+ *$obj->{Transparent} = $got->getValue('transparent');
+ *$obj->{MultiStream} = $got->getValue('multistream');
# TODO - move these two into RawDeflate
- *$obj->{Scan} = $got->value('Scan');
- *$obj->{ParseExtra} = $got->value('ParseExtra')
- || $got->value('Strict') ;
+ *$obj->{Scan} = $got->getValue('scan');
+ *$obj->{ParseExtra} = $got->getValue('parseextra')
+ || $got->getValue('strict') ;
*$obj->{Type} = '';
- *$obj->{Prime} = $got->value('Prime') || '' ;
+ *$obj->{Prime} = $got->getValue('prime') || '' ;
*$obj->{Pending} = '';
*$obj->{Plain} = 0;
*$obj->{PlainBytesRead} = 0;
@@ -577,13 +577,36 @@ sub _inf
my $got = $obj->checkParams($name, undef, @_)
or return undef ;
- if ($got->parsed('TrailingData'))
+ if ($got->parsed('trailingdata'))
{
- *$obj->{TrailingData} = $got->value('TrailingData');
+# my $value = $got->valueRef('TrailingData');
+# warn "TD $value ";
+# #$value = $$value;
+## warn "TD $value $$value ";
+#
+# return retErr($obj, "Parameter 'TrailingData' not writable")
+# if readonly $$value ;
+#
+# if (ref $$value)
+# {
+# return retErr($obj,"Parameter 'TrailingData' not a scalar reference")
+# if ref $$value ne 'SCALAR' ;
+#
+# *$obj->{TrailingData} = $$value ;
+# }
+# else
+# {
+# return retErr($obj,"Parameter 'TrailingData' not a scalar")
+# if ref $value ne 'SCALAR' ;
+#
+# *$obj->{TrailingData} = $value ;
+# }
+
+ *$obj->{TrailingData} = $got->getValue('trailingdata');
}
- *$obj->{MultiStream} = $got->value('MultiStream');
- $got->value('MultiStream', 0);
+ *$obj->{MultiStream} = $got->getValue('multistream');
+ $got->setValue('multistream', 0);
$x->{Got} = $got ;
@@ -663,17 +686,17 @@ sub _singleTarget
if ($x->{outType} eq 'filename') {
my $mode = '>' ;
$mode = '>>'
- if $x->{Got}->value('Append') ;
+ 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} if $x->{Got}->valueOrDefault('binmodeout');
}
elsif ($x->{outType} eq 'handle') {
$x->{fh} = $output;
- binmode $x->{fh} if $x->{Got}->valueOrDefault('BinModeOut');
- if ($x->{Got}->value('Append')) {
+ binmode $x->{fh} if $x->{Got}->valueOrDefault('binmodeout');
+ if ($x->{Got}->getValue('append')) {
seek($x->{fh}, 0, SEEK_END)
or return retErr($x, "Cannot seek to end of output filehandle: $!") ;
}
@@ -683,7 +706,7 @@ sub _singleTarget
elsif ($x->{outType} eq 'buffer' )
{
$$output = ''
- unless $x->{Got}->value('Append');
+ unless $x->{Got}->getValue('append');
$x->{buff} = $output ;
}
@@ -703,7 +726,7 @@ sub _singleTarget
if ( ($x->{outType} eq 'filename' && $output ne '-') ||
- ($x->{outType} eq 'handle' && $x->{Got}->value('AutoClose'))) {
+ ($x->{outType} eq 'handle' && $x->{Got}->getValue('autoclose'))) {
$x->{fh}->close()
or return retErr($x, $!);
delete $x->{fh};
@@ -719,7 +742,7 @@ sub _rd2
my $input = shift;
my $output = shift;
- my $z = createSelfTiedObject($x->{Class}, *$self->{Error});
+ my $z = IO::Compress::Base::Common::createSelfTiedObject($x->{Class}, *$self->{Error});
$z->_create($x->{Got}, 1, $input, @_)
or return undef ;
@@ -803,7 +826,7 @@ sub readBlock
*$self->{CompressedInputLengthDone} = 1;
return STATUS_OK ;
}
- $size = min($size, *$self->{CompressedInputLengthRemaining} );
+ $size = List::Util::min($size, *$self->{CompressedInputLengthRemaining} );
*$self->{CompressedInputLengthRemaining} -= $size ;
}
@@ -1073,7 +1096,7 @@ sub read
if (ref $_[0] ) {
$self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only")
- if readonly(${ $_[0] });
+ if Scalar::Util::readonly(${ $_[0] });
$self->croakError(*$self->{ClassName} . "::read: not a scalar reference $_[0]" )
unless ref $_[0] eq 'SCALAR' ;
@@ -1081,7 +1104,7 @@ sub read
}
else {
$self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only")
- if readonly($_[0]);
+ if Scalar::Util::readonly($_[0]);
$buffer = \$_[0] ;
}
@@ -1402,7 +1425,7 @@ sub seek
my $offset = $target - $here ;
my $got;
- while (($got = $self->read(my $buffer, min($offset, *$self->{BlockSize})) ) > 0)
+ while (($got = $self->read(my $buffer, List::Util::min($offset, *$self->{BlockSize})) ) > 0)
{
$offset -= $got;
last if $offset == 0 ;
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
index 4797c9c4c4..199d0ee373 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.055 qw(:Status createSelfTiedObject);
+use IO::Compress::Base::Common 2.057 qw(:Status );
-use IO::Uncompress::Base 2.055 ;
-use IO::Uncompress::Adapter::Bunzip2 2.055 ;
+use IO::Uncompress::Base 2.057 ;
+use IO::Uncompress::Adapter::Bunzip2 2.057 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
-$VERSION = '2.055';
+$VERSION = '2.057';
$Bunzip2Error = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -25,26 +25,22 @@ push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$Bunzip2Error);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$Bunzip2Error);
$obj->_create(undef, 0, @_);
}
sub bunzip2
{
- my $obj = createSelfTiedObject(undef, \$Bunzip2Error);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$Bunzip2Error);
return $obj->_inf(@_);
}
sub getExtraParams
{
- my $self = shift ;
-
- use IO::Compress::Base::Common 2.055 qw(:Parse);
-
return (
- 'Verbosity' => [1, 1, Parse_boolean, 0],
- 'Small' => [1, 1, Parse_boolean, 0],
+ 'verbosity' => [IO::Compress::Base::Common::Parse_boolean, 0],
+ 'small' => [IO::Compress::Base::Common::Parse_boolean, 0],
);
}
@@ -68,8 +64,8 @@ sub mkUncomp
*$self->{Info} = $self->readHeader($magic)
or return undef ;
- my $Small = $got->value('Small');
- my $Verbosity = $got->value('Verbosity');
+ my $Small = $got->getValue('small');
+ my $Verbosity = $got->getValue('verbosity');
my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Bunzip2::mkUncompObject(
$Small, $Verbosity);
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
index 2d190f45f5..b57b96f2ae 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.055 ;
+use IO::Uncompress::RawInflate 2.057 ;
-use Compress::Raw::Zlib 2.055 () ;
-use IO::Compress::Base::Common 2.055 qw(:Status createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.055 ;
-use IO::Compress::Zlib::Extra 2.055 ;
+use Compress::Raw::Zlib 2.057 () ;
+use IO::Compress::Base::Common 2.057 qw(:Status );
+use IO::Compress::Gzip::Constants 2.057 ;
+use IO::Compress::Zlib::Extra 2.057 ;
require Exporter ;
@@ -28,27 +28,26 @@ Exporter::export_ok_tags('all');
$GunzipError = '';
-$VERSION = '2.055';
+$VERSION = '2.057';
sub new
{
my $class = shift ;
$GunzipError = '';
- my $obj = createSelfTiedObject($class, \$GunzipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$GunzipError);
$obj->_create(undef, 0, @_);
}
sub gunzip
{
- my $obj = createSelfTiedObject(undef, \$GunzipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$GunzipError);
return $obj->_inf(@_) ;
}
sub getExtraParams
{
- use IO::Compress::Base::Common 2.055 qw(:Parse);
- return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ;
+ return ( 'parseextra' => [IO::Compress::Base::Common::Parse_boolean, 0] ) ;
}
sub ckParams
@@ -57,7 +56,7 @@ sub ckParams
my $got = shift ;
# gunzip always needs crc32
- $got->value('CRC32' => 1);
+ $got->setValue('crc32' => 1);
return 1;
}
@@ -923,6 +922,13 @@ Provides a sub-set of the C<seek> functionality, with the restriction
that it is only legal to seek forward in the input file/buffer.
It is a fatal error to attempt to seek backward.
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
The C<$whence> parameter takes one the usual values, namely SEEK_SET,
SEEK_CUR or SEEK_END.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
index 433172dc5d..621049dfe8 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.055 qw(:Status createSelfTiedObject);
-use IO::Compress::Zlib::Constants 2.055 ;
+use IO::Compress::Base::Common 2.057 qw(:Status );
+use IO::Compress::Zlib::Constants 2.057 ;
-use IO::Uncompress::RawInflate 2.055 ;
+use IO::Uncompress::RawInflate 2.057 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$InflateError = '';
@ISA = qw( Exporter IO::Uncompress::RawInflate );
@@ -26,14 +26,14 @@ Exporter::export_ok_tags('all');
sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$InflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$InflateError);
$obj->_create(undef, 0, @_);
}
sub inflate
{
- my $obj = createSelfTiedObject(undef, \$InflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$InflateError);
return $obj->_inf(@_);
}
@@ -48,7 +48,7 @@ sub ckParams
my $got = shift ;
# gunzip always needs adler32
- $got->value('ADLER32' => 1);
+ $got->setValue('adler32' => 1);
return 1;
}
@@ -794,6 +794,13 @@ Provides a sub-set of the C<seek> functionality, with the restriction
that it is only legal to seek forward in the input file/buffer.
It is a fatal error to attempt to seek backward.
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
The C<$whence> parameter takes one the usual values, namely SEEK_SET,
SEEK_CUR or SEEK_END.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
index 9d5e2c81c1..9dae685abc 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.055 ;
-use IO::Compress::Base::Common 2.055 qw(:Status createSelfTiedObject);
+use Compress::Raw::Zlib 2.057 ;
+use IO::Compress::Base::Common 2.057 qw(:Status );
-use IO::Uncompress::Base 2.055 ;
-use IO::Uncompress::Adapter::Inflate 2.055 ;
+use IO::Uncompress::Base 2.057 ;
+use IO::Uncompress::Adapter::Inflate 2.057 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
-$VERSION = '2.055';
+$VERSION = '2.057';
$RawInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -45,13 +45,13 @@ Exporter::export_ok_tags('all');
sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$RawInflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$RawInflateError);
$obj->_create(undef, 0, @_);
}
sub rawinflate
{
- my $obj = createSelfTiedObject(undef, \$RawInflateError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$RawInflateError);
return $obj->_inf(@_);
}
@@ -74,9 +74,9 @@ sub mkUncomp
my $got = shift ;
my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject(
- $got->value('CRC32'),
- $got->value('ADLER32'),
- $got->value('Scan'),
+ $got->getValue('crc32'),
+ $got->getValue('adler32'),
+ $got->getValue('scan'),
);
return $self->saveErrorString(undef, $errstr, $errno)
@@ -332,8 +332,8 @@ sub createDeflate
my ($def, $status) = *$self->{Uncomp}->createDeflateStream(
-AppendOutput => 1,
-WindowBits => - MAX_WBITS,
- -CRC32 => *$self->{Params}->value('CRC32'),
- -ADLER32 => *$self->{Params}->value('ADLER32'),
+ -CRC32 => *$self->{Params}->getValue('crc32'),
+ -ADLER32 => *$self->{Params}->getValue('adler32'),
);
return wantarray ? ($status, $def) : $def ;
@@ -922,6 +922,13 @@ Provides a sub-set of the C<seek> functionality, with the restriction
that it is only legal to seek forward in the input file/buffer.
It is a fatal error to attempt to seek backward.
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
The C<$whence> parameter takes one the usual values, namely SEEK_SET,
SEEK_CUR or SEEK_END.
diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
index 7d770ba682..84375f2362 100644
--- a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
+++ b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
@@ -9,21 +9,21 @@ use warnings;
use bytes;
use IO::File;
-use IO::Uncompress::RawInflate 2.055 ;
-use IO::Compress::Base::Common 2.055 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.055 ;
-use IO::Uncompress::Adapter::Identity 2.055 ;
-use IO::Compress::Zlib::Extra 2.055 ;
-use IO::Compress::Zip::Constants 2.055 ;
+use IO::Uncompress::RawInflate 2.057 ;
+use IO::Compress::Base::Common 2.057 qw(:Status );
+use IO::Uncompress::Adapter::Inflate 2.057 ;
+use IO::Uncompress::Adapter::Identity 2.057 ;
+use IO::Compress::Zlib::Extra 2.057 ;
+use IO::Compress::Zip::Constants 2.057 ;
-use Compress::Raw::Zlib 2.055 () ;
+use Compress::Raw::Zlib 2.057 () ;
BEGIN
{
- eval { require IO::Uncompress::Adapter::Bunzip2 ;
+ eval{ require IO::Uncompress::Adapter::Bunzip2 ;
import IO::Uncompress::Adapter::Bunzip2 } ;
- eval { require IO::Uncompress::Adapter::UnLzma ;
- import IO::Uncompress::Adapter::UnLzma } ;
+ eval{ require IO::Uncompress::Adapter::UnLzma ;
+ import IO::Uncompress::Adapter::UnLzma } ;
}
@@ -31,7 +31,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
-$VERSION = '2.055';
+$VERSION = '2.057';
$UnzipError = '';
@ISA = qw(Exporter IO::Uncompress::RawInflate);
@@ -52,27 +52,25 @@ Exporter::export_ok_tags('all');
sub new
{
my $class = shift ;
- my $obj = createSelfTiedObject($class, \$UnzipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$UnzipError);
$obj->_create(undef, 0, @_);
}
sub unzip
{
- my $obj = createSelfTiedObject(undef, \$UnzipError);
+ my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$UnzipError);
return $obj->_inf(@_) ;
}
sub getExtraParams
{
- use IO::Compress::Base::Common 2.055 qw(:Parse);
-
-
+
return (
# # Zip header fields
- 'Name' => [1, 1, Parse_any, undef],
-
- 'Stream' => [1, 1, Parse_boolean, 0],
+ 'name' => [IO::Compress::Base::Common::Parse_any, undef],
+ 'stream' => [IO::Compress::Base::Common::Parse_boolean, 0],
+
# TODO - This means reading the central directory to get
# 1. the local header offsets
# 2. The compressed data length
@@ -85,9 +83,9 @@ sub ckParams
my $got = shift ;
# unzip always needs crc32
- $got->value('CRC32' => 1);
+ $got->setValue('crc32' => 1);
- *$self->{UnzipData}{Name} = $got->value('Name');
+ *$self->{UnzipData}{Name} = $got->getValue('name');
return 1;
}
@@ -1623,6 +1621,13 @@ Provides a sub-set of the C<seek> functionality, with the restriction
that it is only legal to seek forward in the input file/buffer.
It is a fatal error to attempt to seek backward.
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
The C<$whence> parameter takes one the usual values, namely SEEK_SET,
SEEK_CUR or SEEK_END.
diff --git a/cpan/IO-Compress/t/000prereq.t b/cpan/IO-Compress/t/000prereq.t
index 46e1054870..0751b1b892 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.055';
+ my $VERSION = '2.057';
my @NAMES = qw(
Compress::Raw::Bzip2
Compress::Raw::Zlib
diff --git a/cpan/IO-Compress/t/006zip.t b/cpan/IO-Compress/t/006zip.t
index b4d1e649fb..ad05cef376 100644
--- a/cpan/IO-Compress/t/006zip.t
+++ b/cpan/IO-Compress/t/006zip.t
@@ -19,7 +19,7 @@ BEGIN {
$extra = 1
if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 };
- plan tests => 95 + $extra ;
+ plan tests => 101 + $extra ;
use_ok('IO::Compress::Zip', qw(:all)) ;
use_ok('IO::Uncompress::Unzip', qw(unzip $UnzipError)) ;
@@ -330,3 +330,31 @@ for my $method (ZIP_CM_DEFLATE, ZIP_CM_STORE, ZIP_CM_BZIP2)
ok ! IO::Compress::Zip::isMethodAvailable(999), "999 not available";
}
+
+{
+ title "Memember & Comment 0";
+
+ my $lex = new LexFile my $file1;
+
+ my $content = 'hello' ;
+
+
+ my $zip = new IO::Compress::Zip $file1,
+ Name => "0", Comment => "0" ;
+ isa_ok $zip, "IO::Compress::Zip";
+
+ is $zip->write($content), length($content), "write";
+
+ ok $zip->close(), "closed";
+
+
+
+ my $u = new IO::Uncompress::Unzip $file1, Append => 1, @_
+ or die "Cannot open $file1: $UnzipError";
+
+ isa_ok $u, "IO::Uncompress::Unzip";
+
+ my $name = $u->getHeaderInfo()->{Name};
+
+ is $u->getHeaderInfo()->{Name}, "0", "Name is '0'";
+}
diff --git a/cpan/IO-Compress/t/01misc.t b/cpan/IO-Compress/t/01misc.t
index 528b71f034..987e067341 100644
--- a/cpan/IO-Compress/t/01misc.t
+++ b/cpan/IO-Compress/t/01misc.t
@@ -19,7 +19,7 @@ BEGIN {
$extra = 1
if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 };
- plan tests => 140 + $extra ;
+ plan tests => 150 + $extra ;
use_ok('Scalar::Util');
use_ok('IO::Compress::Base::Common');
@@ -47,24 +47,24 @@ sub My::testParseParameters()
like $@, mkErr(': Expected even number of parameters, got 1'),
"Trap odd number of params";
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_boolean, 0]}, Fred => 'joe') ; };
- like $@, mkErr("Parameter 'Fred' must be an int, got 'joe'"),
+ eval { ParseParameters(1, {'fred' => [Parse_boolean, 0]}, fred => 'joe') ; };
+ like $@, mkErr("Parameter 'fred' must be an int, got 'joe'"),
"wanted unsigned, got undef";
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_unsigned, 0]}, Fred => undef) ; };
- like $@, mkErr("Parameter 'Fred' must be an unsigned int, got 'undef'"),
+ eval { ParseParameters(1, {'fred' => [Parse_unsigned, 0]}, fred => undef) ; };
+ like $@, mkErr("Parameter 'fred' must be an unsigned int, got 'undef'"),
"wanted unsigned, got undef";
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_signed, 0]}, Fred => undef) ; };
- like $@, mkErr("Parameter 'Fred' must be a signed int, got 'undef'"),
+ eval { ParseParameters(1, {'fred' => [Parse_signed, 0]}, fred => undef) ; };
+ like $@, mkErr("Parameter 'fred' must be a signed int, got 'undef'"),
"wanted signed, got undef";
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_signed, 0]}, Fred => 'abc') ; };
- like $@, mkErr("Parameter 'Fred' must be a signed int, got 'abc'"),
+ eval { ParseParameters(1, {'fred' => [Parse_signed, 0]}, fred => 'abc') ; };
+ like $@, mkErr("Parameter 'fred' must be a signed int, got 'abc'"),
"wanted signed, got 'abc'";
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_code, undef]}, Fred => 'abc') ; };
- like $@, mkErr("Parameter 'Fred' must be a code reference, got 'abc'"),
+ eval { ParseParameters(1, {'fred' => [Parse_code, undef]}, fred => 'abc') ; };
+ like $@, mkErr("Parameter 'fred' must be a code reference, got 'abc'"),
"wanted code, got 'abc'";
@@ -75,86 +75,84 @@ sub My::testParseParameters()
skip 'readonly + threads', 1
if $Config{useithreads};
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, 0]}, Fred => 'abc') ; };
- like $@, mkErr("Parameter 'Fred' not writable"),
+ eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => 'abc') ; };
+ like $@, mkErr("Parameter 'fred' not writable"),
"wanted writable, got readonly";
}
+ eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => \'abc') ; };
+ like $@, mkErr("Parameter 'fred' not writable"),
+ "wanted writable, got readonly";
+
my @xx;
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, 0]}, Fred => \@xx) ; };
- like $@, mkErr("Parameter 'Fred' not a scalar reference"),
+ eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => \@xx) ; };
+ like $@, mkErr("Parameter 'fred' not a scalar reference"),
"wanted scalar reference";
local *ABC;
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, 0]}, Fred => *ABC) ; };
- like $@, mkErr("Parameter 'Fred' not a scalar"),
+ eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => *ABC) ; };
+ like $@, mkErr("Parameter 'fred' not a scalar"),
"wanted scalar";
- eval { ParseParameters(1, {'Fred' => [1, 1, Parse_any, 0]}, Fred => 1, Fred => 2) ; };
- like $@, mkErr("Muliple instances of 'Fred' found"),
+ eval { ParseParameters(1, {'fred' => [Parse_any, 0]}, fred => 1, fred => 2) ; };
+ like $@, mkErr("Muliple instances of 'fred' found"),
"multiple instances";
- my $g = ParseParameters(1, {'Fred' => [1, 1, Parse_unsigned|Parse_multiple, 7]}, Fred => 1, Fred => 2) ;
- is_deeply $g->value('Fred'), [ 1, 2 ] ;
+# my $g = ParseParameters(1, {'fred' => [Parse_unsigned|Parse_multiple, 7]}, fred => 1, fred => 2) ;
+# is_deeply $g->value('fred'), [ 1, 2 ] ;
+ ok 1;
#ok 1;
- my $got = ParseParameters(1, {'Fred' => [1, 1, 0x1000000, 0]}, Fred => 'abc') ;
- is $got->value('Fred'), "abc", "other" ;
+ my $got = ParseParameters(1, {'fred' => [0x1000000, 0]}, fred => 'abc') ;
+ is $got->getValue('fred'), "abc", "other" ;
- $got = ParseParameters(1, {'Fred' => [0, 1, Parse_any, undef]}, Fred => undef) ;
- ok $got->parsed('Fred'), "undef" ;
- ok ! defined $got->value('Fred'), "undef" ;
+ $got = ParseParameters(1, {'fred' => [Parse_any, undef]}, fred => undef) ;
+ ok $got->parsed('fred'), "undef" ;
+ ok ! defined $got->getValue('fred'), "undef" ;
- $got = ParseParameters(1, {'Fred' => [0, 1, Parse_string, undef]}, Fred => undef) ;
- ok $got->parsed('Fred'), "undef" ;
- is $got->value('Fred'), "", "empty string" ;
+ $got = ParseParameters(1, {'fred' => [Parse_string, undef]}, fred => undef) ;
+ ok $got->parsed('fred'), "undef" ;
+ is $got->getValue('fred'), "", "empty string" ;
my $xx;
- $got = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, Fred => $xx) ;
+ $got = ParseParameters(1, {'fred' => [Parse_writable_scalar, undef]}, fred => $xx) ;
- ok $got->parsed('Fred'), "parsed" ;
- my $xx_ref = $got->value('Fred');
+ ok $got->parsed('fred'), "parsed" ;
+ my $xx_ref = $got->getValue('fred');
$$xx_ref = 77 ;
is $xx, 77;
- $got = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, Fred => \$xx) ;
+ $got = ParseParameters(1, {'fred' => [Parse_writable_scalar, undef]}, fred => \$xx) ;
- ok $got->parsed('Fred'), "parsed" ;
- $xx_ref = $got->value('Fred');
+ ok $got->parsed('fred'), "parsed" ;
+ $xx_ref = $got->getValue('fred');
$$xx_ref = 666 ;
is $xx, 666;
{
- my $got1 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, $got) ;
+ my $got1 = ParseParameters(1, {'fred' => [Parse_writable_scalar, undef]}, $got) ;
is $got1, $got, "Same object";
- ok $got1->parsed('Fred'), "parsed" ;
- $xx_ref = $got1->value('Fred');
+ ok $got1->parsed('fred'), "parsed" ;
+ $xx_ref = $got1->getValue('fred');
$$xx_ref = 777 ;
is $xx, 777;
}
+
+ for my $type (Parse_unsigned, Parse_signed, Parse_any)
+ {
+ my $value = 0;
+ my $got1 ;
+ eval { $got1 = ParseParameters(1, {'fred' => [$type, 1]}, fred => $value) } ;
-## my $got2 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, '__xxx__' => $got) ;
-## isnt $got2, $got, "not the Same object";
-##
-## ok $got2->parsed('Fred'), "parsed" ;
-## $xx_ref = $got2->value('Fred');
-## $$xx_ref = 888 ;
-## is $xx, 888;
-##
-## my $other;
-## my $got3 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, '__xxx__' => $got, Fred => \$other) ;
-## isnt $got3, $got, "not the Same object";
-##
-## exit;
-## ok $got3->parsed('Fred'), "parsed" ;
-## $xx_ref = $got3->value('Fred');
-## $$xx_ref = 999 ;
-## is $other, 999;
-## is $xx, 888;
+ ok ! $@;
+ ok $got1->parsed('fred'), "parsed ok" ;
+ is $got1->getValue('fred'), 0;
+ }
+
}