package IO::Uncompress::RawInflate ;
# for RFC1951
use strict ;
use warnings;
use bytes;
use Compress::Raw::Zlib 2.015 ;
use IO::Compress::Base::Common 2.015 qw(:Status createSelfTiedObject);
use IO::Uncompress::Base 2.015 ;
use IO::Uncompress::Adapter::Inflate 2.015 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
$VERSION = '2.015';
$RawInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@EXPORT_OK = qw( $RawInflateError rawinflate ) ;
%DEFLATE_CONSTANTS = ();
%EXPORT_TAGS = %IO::Uncompress::Base::EXPORT_TAGS ;
push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
Exporter::export_ok_tags('all');
sub new
{
my $class = shift ;
my $obj = createSelfTiedObject($class, \$RawInflateError);
$obj->_create(undef, 0, @_);
}
sub rawinflate
{
my $obj = createSelfTiedObject(undef, \$RawInflateError);
return $obj->_inf(@_);
}
sub getExtraParams
{
return ();
}
sub ckParams
{
my $self = shift ;
my $got = shift ;
return 1;
}
sub mkUncomp
{
my $self = shift ;
my $got = shift ;
my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject(
$got->value('CRC32'),
$got->value('ADLER32'),
$got->value('Scan'),
);
return $self->saveErrorString(undef, $errstr, $errno)
if ! defined $obj;
*$self->{Uncomp} = $obj;
my $magic = $self->ckMagic()
or return 0;
*$self->{Info} = $self->readHeader($magic)
or return undef ;
return 1;
}
sub ckMagic
{
my $self = shift;
return $self->_isRaw() ;
}
sub readHeader
{
my $self = shift;
my $magic = shift ;
return {
'Type' => 'rfc1951',
'FingerprintLength' => 0,
'HeaderLength' => 0,
=1= |