?????????? ????????? - ??????????????? - /home/agenciai/public_html/cd38d8/UnXz.pm.tar
???????
usr/share/perl5/vendor_perl/IO/Uncompress/Adapter/UnXz.pm 0000644 00000005134 15127737236 0017334 0 ustar 00 package IO::Uncompress::Adapter::UnXz; use strict; use warnings; use bytes; use IO::Compress::Base::Common 2.101 qw(:Status); use Compress::Raw::Lzma 2.101 ; our ($VERSION, @ISA); $VERSION = '2.101'; #@ISA = qw( Compress::Raw::UnLzma ); sub mkUncompObject { my $memlimit = shift || 128 * 1024 * 1024; my $flags = shift || 0; my ($inflate, $status) = Compress::Raw::Lzma::StreamDecoder->new(AppendOutput => 1, ConsumeInput => 1, LimitOutput => 1, MemLimit => $memlimit, Flags => $flags, ); return (undef, "Could not create StreamDecoder object: $status", $status) if $status != LZMA_OK ; return bless {'Inf' => $inflate, 'CompSize' => 0, 'UnCompSize' => 0, 'Error' => '', 'ConsumesInput' => 1, } ; } sub uncompr { my $self = shift ; my $from = shift ; my $to = shift ; my $eof = shift ; my $inf = $self->{Inf}; my $status = $inf->code($from, $to); $self->{ErrorNo} = $status; if ($status != LZMA_OK && $status != LZMA_STREAM_END ) { $self->{Error} = "Uncompression Error: $status"; return STATUS_ERROR; } return STATUS_OK if $status == LZMA_OK ; return STATUS_ENDSTREAM if $status == LZMA_STREAM_END ; return STATUS_ERROR ; } sub reset { my $self = shift ; my ($inf, $status) = Compress::Raw::Lzma::StreamDecoder->new(AppendOutput => 1, ConsumeInput => 1, LimitOutput => 1); $self->{ErrorNo} = ($status == LZMA_OK) ? 0 : $status ; if ($status != LZMA_OK) { $self->{Error} = "Cannot create UnXz object: $status"; return STATUS_ERROR; } $self->{Inf} = $inf; return STATUS_OK ; } #sub count #{ # my $self = shift ; # $self->{Inf}->inflateCount(); #} sub compressedBytes { my $self = shift ; $self->{Inf}->compressedBytes(); } sub uncompressedBytes { my $self = shift ; $self->{Inf}->uncompressedBytes(); } sub crc32 { my $self = shift ; #$self->{Inf}->crc32(); } sub adler32 { my $self = shift ; #$self->{Inf}->adler32(); } sub sync { my $self = shift ; #( $self->{Inf}->inflateSync(@_) == LZMA_OK) # ? STATUS_OK # : STATUS_ERROR ; } 1; __END__ usr/share/perl5/vendor_perl/IO/Uncompress/UnXz.pm 0000644 00000061303 15131647051 0015742 0 ustar 00 package IO::Uncompress::UnXz ; use strict ; use warnings; use bytes; use IO::Compress::Base::Common 2.101 qw(:Status createSelfTiedObject); use IO::Uncompress::Base 2.101 ; use IO::Uncompress::Adapter::UnXz 2.101 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnXzError); $VERSION = '2.101'; $UnXzError = ''; @ISA = qw( IO::Uncompress::Base Exporter ); @EXPORT_OK = qw( $UnXzError unxz ) ; #%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, \$UnXzError); $obj->_create(undef, 0, @_); } sub unxz { my $obj = createSelfTiedObject(undef, \$UnXzError); return $obj->_inf(@_); } our %PARAMS = ( 'memlimit' => [IO::Compress::Base::Common::Parse_unsigned, 128 * 1024 * 1024], 'flags' => [IO::Compress::Base::Common::Parse_boolean, 0], ); sub getExtraParams { return %PARAMS ; } sub ckParams { my $self = shift ; my $got = shift ; return 1; } sub mkUncomp { my $self = shift ; my $got = shift ; my $magic = $self->ckMagic() or return 0; *$self->{Info} = $self->readHeader($magic) or return undef ; my $memlimit = $got->getValue('memlimit'); my $flags = $got->getValue('flags'); my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::UnXz::mkUncompObject( $memlimit, $flags); return $self->saveErrorString(undef, $errstr, $errno) if ! defined $obj; *$self->{Uncomp} = $obj; return 1; } use constant XZ_ID_SIZE => 6; use constant XZ_MAGIC => "\0xFD". '7zXZ'. "\0x00" ; sub ckMagic { my $self = shift; my $magic ; $self->smartReadExact(\$magic, XZ_ID_SIZE); *$self->{HeaderPending} = $magic ; return $self->HeaderError("Header size is " . XZ_ID_SIZE . " bytes") if length $magic != XZ_ID_SIZE; return $self->HeaderError("Bad Magic.") if ! isXzMagic($magic) ; *$self->{Type} = 'xz'; return $magic; } sub readHeader { my $self = shift; my $magic = shift ; $self->pushBack($magic); *$self->{HeaderPending} = ''; return { 'Type' => 'xz', 'FingerprintLength' => XZ_ID_SIZE, 'HeaderLength' => XZ_ID_SIZE, 'TrailerLength' => 0, 'Header' => '$magic' }; } sub chkTrailer { return STATUS_OK; } sub isXzMagic { my $buffer = shift ; return $buffer =~ /^\xFD\x37\x7A\x58\x5A\x00/; } 1 ; __END__ =head1 NAME IO::Uncompress::UnXz - Read xz files/buffers =head1 SYNOPSIS use IO::Uncompress::UnXz qw(unxz $UnXzError) ; my $status = unxz $input => $output [,OPTS] or die "unxz failed: $UnXzError\n"; my $z = IO::Uncompress::UnXz->new( $input [OPTS] ) or die "unxz failed: $UnXzError\n"; $status = $z->read($buffer) $status = $z->read($buffer, $length) $status = $z->read($buffer, $length, $offset) $line = $z->getline() $char = $z->getc() $char = $z->ungetc() $char = $z->opened() $data = $z->trailingData() $status = $z->nextStream() $data = $z->getHeaderInfo() $z->tell() $z->seek($position, $whence) $z->binmode() $z->fileno() $z->eof() $z->close() $UnXzError ; # IO::File mode <$z> read($z, $buffer); read($z, $buffer, $length); read($z, $buffer, $length, $offset); tell($z) seek($z, $position, $whence) binmode($z) fileno($z) eof($z) close($z) =head1 DESCRIPTION This module provides a Perl interface that allows the reading of lzma files/buffers. For writing xz files/buffers, see the companion module IO::Compress::Xz. =head1 Functional Interface A top-level function, C<unxz>, is provided to carry out "one-shot" uncompression between buffers and/or files. For finer control over the uncompression process, see the L</"OO Interface"> section. use IO::Uncom
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0 |
proxy
|
phpinfo
|
???????????