X7ROOT File Manager
Current Path:
/usr/share/perl5/vendor_perl/Archive/Zip
usr
/
share
/
perl5
/
vendor_perl
/
Archive
/
Zip
/
??
..
??
Archive.pm
(31.58 KB)
??
BufferedFileHandle.pm
(2.68 KB)
??
DirectoryMember.pm
(1.94 KB)
??
FAQ.pod
(12.36 KB)
??
FileMember.pm
(1.31 KB)
??
Member.pm
(36.78 KB)
??
MemberRead.pm
(7.64 KB)
??
MockFileHandle.pm
(1.3 KB)
??
NewFileMember.pm
(2.13 KB)
??
StringMember.pm
(1.68 KB)
??
Tree.pm
(816 B)
??
ZipFileMember.pm
(13.45 KB)
Editing: NewFileMember.pm
package Archive::Zip::NewFileMember; use strict; use vars qw( $VERSION @ISA ); BEGIN { $VERSION = '1.60'; @ISA = qw ( Archive::Zip::FileMember ); } use Archive::Zip qw( :CONSTANTS :ERROR_CODES :UTILITY_METHODS ); # Given a file name, set up for eventual writing. sub _newFromFileNamed { my $class = shift; my $fileName = shift; # local FS format my $newName = shift; $newName = _asZipDirName($fileName) unless defined($newName); return undef unless (stat($fileName) && -r _ && !-d _ ); my $self = $class->new(@_); $self->{'fileName'} = $newName; $self->{'externalFileName'} = $fileName; $self->{'compressionMethod'} = COMPRESSION_STORED; my @stat = stat(_); $self->{'compressedSize'} = $self->{'uncompressedSize'} = $stat[7]; $self->desiredCompressionMethod( ($self->compressedSize() > 0) ? COMPRESSION_DEFLATED : COMPRESSION_STORED ); $self->unixFileAttributes($stat[2]); $self->setLastModFileDateTimeFromUnix($stat[9]); $self->isTextFile(-T _ ); return $self; } sub rewindData { my $self = shift; my $status = $self->SUPER::rewindData(@_); return $status unless $status == AZ_OK; return AZ_IO_ERROR unless $self->fh(); $self->fh()->clearerr(); $self->fh()->seek(0, IO::Seekable::SEEK_SET) or return _ioError("rewinding", $self->externalFileName()); return AZ_OK; } # Return bytes read. Note that first parameter is a ref to a buffer. # my $data; # my ( $bytesRead, $status) = $self->readRawChunk( \$data, $chunkSize ); sub _readRawChunk { my ($self, $dataRef, $chunkSize) = @_; return (0, AZ_OK) unless $chunkSize; my $bytesRead = $self->fh()->read($$dataRef, $chunkSize) or return (0, _ioError("reading data")); return ($bytesRead, AZ_OK); } # If I already exist, extraction is a no-op. sub extractToFileNamed { my $self = shift; my $name = shift; # local FS name if (File::Spec->rel2abs($name) eq File::Spec->rel2abs($self->externalFileName()) and -r $name) { return AZ_OK; } else { return $self->SUPER::extractToFileNamed($name, @_); } } 1;
Upload File
Create Folder