⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newfilemember.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
字号:
package Archive::Zip::NewFileMember;use strict;use vars qw( $VERSION @ISA );BEGIN {    $VERSION = '1.23';    @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;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -