IO-Compress
view release on metacpan or search on metacpan
lib/IO/Uncompress/Base.pm view on Meta::CPAN
my $out_buffer = '';
$status = $obj->read(\$out_buffer);
if ($status < 0) {
*$obj->{ReadStatus} = [ $status, $obj->error(), $obj->errorNo() ];
}
$obj->ungetc($out_buffer)
if length $out_buffer;
}
else {
return undef
unless *$obj->{Transparent};
$obj->clearError();
*$obj->{Type} = 'plain';
*$obj->{Plain} = 1;
$obj->pushBack(*$obj->{HeaderPending}) ;
}
push @{ *$obj->{InfoList} }, *$obj->{Info} ;
$obj->saveStatus(STATUS_OK) ;
*$obj->{InNew} = 0;
*$obj->{Closed} = 0;
return $obj;
}
sub ckInputParam
{
my $self = shift ;
my $from = shift ;
my $inType = whatIsInput($_[0], $_[1]);
$self->croakError("$from: input parameter not a filename, filehandle, array ref or scalar ref")
if ! $inType ;
# if ($inType eq 'filename' )
# {
# return $self->saveErrorString(1, "$from: input filename is undef or null string", STATUS_ERROR)
# if ! defined $_[0] || $_[0] eq '' ;
#
# if ($_[0] ne '-' && ! -e $_[0] )
# {
# return $self->saveErrorString(1,
# "input file '$_[0]' does not exist", STATUS_ERROR);
# }
# }
return 1;
}
sub _inf
{
my $obj = shift ;
my $class = (caller)[0] ;
my $name = (caller(1))[3] ;
$obj->croakError("$name: expected at least 1 parameters\n")
unless @_ >= 1 ;
my $input = shift ;
my $haveOut = @_ ;
my $output = shift ;
my $x = IO::Compress::Base::Validator->new($class, *$obj->{Error}, $name, $input, $output)
or return undef ;
push @_, $output if $haveOut && $x->{Hash};
*$obj->{OneShot} = 1 ;
my $got = $obj->checkParams($name, undef, @_)
or return undef ;
if ($got->parsed('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->getValue('multistream');
$got->setValue('multistream', 0);
$x->{Got} = $got ;
# if ($x->{Hash})
# {
# while (my($k, $v) = each %$input)
# {
# $v = \$input->{$k}
# unless defined $v ;
#
( run in 0.344 second using v1.01-cache-2.11-cpan-e93a5daba3e )