line |
true |
false |
branch |
67
|
0 |
69 |
ref $_[0] eq 'HASH' ? :
|
68
|
4 |
65 |
if ($fileName)
|
70
|
4 |
0 |
$status == 0 ? :
|
96
|
0 |
368 |
ref $_[0] eq 'HASH' ? :
|
98
|
240 |
9925 |
if $member->fileName eq $fileName
|
105
|
0 |
17 |
ref $_[0] eq 'HASH' ? :
|
116
|
4 |
550 |
if (@_)
|
118
|
0 |
4 |
ref $_[0] eq 'HASH' ? :
|
158
|
0 |
78 |
if (@_)
|
159
|
0 |
0 |
ref $_[0] eq 'HASH' ? :
|
176
|
0 |
10 |
ref $_[0] eq 'HASH' ? :
|
177
|
0 |
10 |
unless ref $member
|
178
|
0 |
10 |
unless $member
|
188
|
0 |
183 |
if (ref $_[0] eq 'HASH') { }
|
195
|
0 |
183 |
unless ref $oldMember
|
196
|
0 |
183 |
unless $oldMember
|
197
|
0 |
183 |
unless $newMember
|
199
|
183 |
11336 |
$_ == $oldMember ? :
|
208
|
0 |
55 |
if (ref $_[0] eq 'HASH') { }
|
215
|
23 |
32 |
unless ref $member
|
216
|
0 |
55 |
unless $member
|
219
|
13 |
42 |
if (defined $name) { }
|
224
|
3 |
39 |
if ((my $ret = _extractionNameIsSafe($name)) != 0)
|
230
|
6 |
46 |
if ($dirName and not -d $dirName)
|
232
|
0 |
6 |
unless -d $dirName
|
245
|
0 |
2 |
if (ref $_[0] eq 'HASH') { }
|
252
|
0 |
2 |
unless ref $member
|
253
|
0 |
2 |
unless $member
|
255
|
0 |
2 |
if $member->isDirectory
|
256
|
1 |
1 |
unless ($name)
|
259
|
1 |
0 |
if ((my $ret = _extractionNameIsSafe($name)) != 0)
|
270
|
0 |
190 |
ref $_[0] eq 'HASH' ? :
|
271
|
190 |
0 |
if $newMember
|
272
|
2 |
188 |
if ($newMember and $newMember->{'bitFlag'} & 2048 and not utf8::is_utf8($newMember->{'fileName'}))
|
283
|
0 |
98 |
if (ref $_[0] eq 'HASH') { }
|
291
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE)
|
297
|
0 |
98 |
if ($self->{'storeSymbolicLink'} and -l $fileName) { }
|
315
|
0 |
13 |
if (ref $_[0] eq 'HASH') { }
|
333
|
0 |
9 |
if (ref $_[0] eq 'HASH') { }
|
340
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE)
|
345
|
0 |
9 |
if ($self->{'storeSymbolicLink'} and -l $name) { }
|
347
|
0 |
0 |
if $newName
|
366
|
0 |
2 |
if (ref $_[0] eq 'HASH') { }
|
374
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE)
|
379
|
2 |
0 |
if ($newName) { }
|
384
|
1 |
1 |
if (-f $name) { }
|
|
1 |
0 |
elsif (-d $name) { }
|
397
|
0 |
3 |
if (ref $_[0] eq 'HASH') { }
|
405
|
3 |
0 |
if ($status == 0)
|
406
|
0 |
3 |
unless defined $member
|
408
|
0 |
3 |
if ($status == 0 and not ref $member)
|
411
|
0 |
0 |
unless defined $member
|
413
|
3 |
0 |
if ($status == 0)
|
419
|
0 |
3 |
wantarray ? :
|
426
|
0 |
75 |
ref $_[0] eq 'HASH' ? :
|
428
|
0 |
216 |
if ($member->_usesFileNamed($fileName))
|
435
|
0 |
75 |
unless $status
|
449
|
0 |
78 |
if (ref $_[0] eq 'HASH') { }
|
452
|
0 |
0 |
exists $_[0]{'seek'} ? :
|
455
|
75 |
3 |
@_ ? :
|
458
|
0 |
78 |
unless $fh
|
459
|
0 |
78 |
unless $fh->opened
|
463
|
75 |
3 |
$fhIsSeekable ? :
|
464
|
0 |
78 |
if $offset < 0
|
513
|
0 |
243 |
if $status != 0
|
539
|
0 |
0 |
ref $_[0] eq 'HASH' ? :
|
540
|
0 |
0 |
unless defined $zipName
|
543
|
0 |
0 |
unless $fh
|
551
|
0 |
0 |
if ($status != 0)
|
560
|
0 |
0 |
if (-f $zipName and not rename($zipName, $backupName))
|
567
|
0 |
0 |
unless (File::Copy::move($tempName, $zipName) or File::Copy::copy($tempName, $zipName))
|
576
|
0 |
0 |
if (-f $backupName and not unlink($backupName))
|
616
|
16 |
47 |
if ($membersZip64 or $eocdDataZip64 or $self->desiredZip64Mode == 1)
|
622
|
3 |
28 |
if $versionMadeBy == 0
|
623
|
3 |
28 |
if $versionNeededToExtract < 45
|
625
|
0 |
31 |
unless $self->_print($fh, "PK\cF\cF")
|
641
|
0 |
31 |
unless $self->_print($fh, $record)
|
644
|
0 |
31 |
unless $self->_print($fh, "PK\cF\a")
|
653
|
0 |
31 |
unless $self->_print($fh, $locator)
|
657
|
0 |
78 |
unless $self->_print($fh, "PK\cE\cF")
|
660
|
0 |
78 |
$numberOfCentralDirectoriesOnThisDisk > 65535 ? :
|
|
0 |
78 |
$numberOfCentralDirectories > 65535 ? :
|
|
0 |
78 |
$centralDirectorySize > 4294967295 ? :
|
|
0 |
78 |
$centralDirectoryOffsetWRTStartingDiskNumber > 4294967295 ? :
|
674
|
0 |
78 |
unless $self->_print($fh, $header)
|
676
|
0 |
78 |
if ($zipfileCommentLength)
|
677
|
0 |
0 |
unless $self->_print($fh, $self->zipfileComment)
|
694
|
0 |
78 |
if (ref $_[0] eq 'HASH') { }
|
701
|
0 |
78 |
if (defined $offset) { }
|
703
|
0 |
0 |
unless $fh->seek($offset, 0)
|
713
|
0 |
243 |
if $status != 0
|
724
|
0 |
48 |
ref $_[0] eq 'HASH' ? :
|
725
|
0 |
48 |
unless $fileName
|
727
|
0 |
48 |
unless $status
|
730
|
0 |
48 |
if $status != 0
|
741
|
0 |
48 |
if (ref $_[0] eq 'HASH') { }
|
748
|
0 |
48 |
unless defined $fileName
|
749
|
0 |
48 |
unless $fh
|
750
|
0 |
48 |
unless $fh->opened
|
756
|
0 |
48 |
unless _isSeekable($fh)
|
762
|
0 |
48 |
if $status != 0
|
766
|
0 |
48 |
if $status != 0
|
770
|
0 |
48 |
unless $fh->seek($eocdPosition - $self->centralDirectorySize, 0)
|
785
|
0 |
120 |
if $status != 0
|
786
|
98 |
22 |
if (not $zip64) { }
|
787
|
41 |
57 |
if $signature == 101010256
|
790
|
7 |
15 |
if $signature == 101075792
|
793
|
0 |
72 |
if $status != 0
|
795
|
0 |
72 |
if $status != 0
|
797
|
12 |
60 |
if ($newMember->isDirectory)
|
800
|
0 |
12 |
unless $newMember->_ISA('Archive::Zip::DirectoryMember')
|
804
|
8 |
64 |
if ($newMember->{'bitFlag'} & 2048 and not utf8::is_utf8($newMember->{'fileName'}))
|
857
|
0 |
48 |
if ($eocdPosition < 20)
|
862
|
0 |
48 |
unless $fh->seek(-20, 1)
|
875
|
0 |
48 |
if $status == 4
|
876
|
0 |
48 |
if ($status == 3)
|
877
|
0 |
0 |
unless $fh->seek($eocdPosition, 0)
|
885
|
0 |
48 |
if ($bytesRead != 16)
|
890
|
25 |
23 |
if ($zip64EOCDPosition > $zip64EOCDLocatorPosition - 52 - 4)
|
897
|
0 |
23 |
unless $fh->seek($zip64EOCDPosition, 0)
|
904
|
0 |
23 |
if $status == 4
|
905
|
0 |
23 |
if ($status == 3)
|
906
|
0 |
0 |
unless $fh->seek($eocdPosition, 0)
|
915
|
0 |
23 |
if ($bytesRead != 52)
|
923
|
16 |
7 |
if ($zip64EOCDPosition + 12 + $zip64EODCRecordSize != $zip64EOCDLocatorPosition)
|
924
|
0 |
16 |
unless $fh->seek($eocdPosition, 0)
|
944
|
0 |
7 |
unless $fh->seek($eocdPosition, 0)
|
949
|
0 |
48 |
unless $fh->seek(4, 1)
|
954
|
0 |
48 |
if ($bytesRead != 18)
|
959
|
41 |
7 |
if (not $self->{'zip64'}) { }
|
970
|
0 |
41 |
if ($self->{'diskNumber'} == 65535 or $self->{'diskNumberWithStartOfCentralDirectory'} == 65535 or $self->{'numberOfCentralDirectoriesOnThisDisk'} == 65535 or $self->{'numberOfCentralDirectories'} == 65535 or $self->{'centralDirectorySize'} == 4294967295 or $self->{'centralDirectoryOffsetWRTStartingDiskNumber'} == 4294967295)
|
996
|
0 |
48 |
if ($zipfileCommentLength)
|
999
|
0 |
0 |
if ($bytesRead != $zipfileCommentLength)
|
1005
|
41 |
7 |
if (not $self->{'zip64'}) { }
|
1008
|
41 |
0 |
wantarray ? :
|
1014
|
7 |
0 |
wantarray ? :
|
1026
|
0 |
48 |
unless $fh->seek(0, 2)
|
1030
|
0 |
48 |
if ($fileLength < 22)
|
1038
|
39 |
9 |
if $seekOffset > $fileLength
|
1039
|
0 |
48 |
unless $fh->seek(-$seekOffset, 2)
|
1042
|
0 |
48 |
if ($bytesRead != $seekOffset)
|
1047
|
0 |
0 |
if $pos >= 0 or $seekOffset == $fileLength or $seekOffset >= $Archive::Zip::ChunkSize
|
1052
|
48 |
0 |
if ($pos >= 0) { }
|
1053
|
0 |
48 |
unless $fh->seek($pos - $seekOffset, 1)
|
1075
|
0 |
5 |
if (ref $_[0] eq 'HASH') { }
|
1084
|
0 |
5 |
unless defined $root
|
1086
|
0 |
5 |
unless defined $dest
|
1088
|
2 |
3 |
unless defined $pred
|
1093
|
0 |
5 |
unless $startDir
|
1102
|
0 |
527 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) { }
|
1103
|
0 |
0 |
if &$pred
|
1106
|
89 |
438 |
if &$pred
|
1111
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE)
|
1118
|
2 |
3 |
$rootZipName eq './' ? :
|
1124
|
0 |
89 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) { }
|
1132
|
2 |
87 |
if ($archiveName eq $rootZipName) { }
|
1134
|
0 |
89 |
if $archiveName =~ m[^\.?/?$]
|
1135
|
2 |
87 |
$isDir ? :
|
1141
|
0 |
89 |
unless $member
|
1150
|
0 |
0 |
if (ref $_[0] eq 'HASH') { }
|
1160
|
0 |
0 |
unless defined $root
|
1162
|
0 |
0 |
unless defined $dest
|
1163
|
0 |
0 |
unless defined $pattern
|
1166
|
0 |
0 |
if /$pattern/
|
|
0 |
0 |
if /$pattern/
|
|
0 |
0 |
$pred ? :
|
1181
|
2 |
51 |
if (grep(('..' eq $_), @directories))
|
1190
|
5 |
189 |
if (-l $path)
|
1194
|
34 |
155 |
unless (-e $path)
|
1210
|
0 |
5 |
if (ref $_[0] eq 'HASH') { }
|
1218
|
4 |
1 |
unless defined $root
|
1219
|
2 |
3 |
if (defined $dest) { }
|
1220
|
2 |
0 |
unless ($dest =~ m[/$])
|
1235
|
3 |
7 |
if ((my $ret = _extractionNameIsSafe($fileName)) != 0)
|
1238
|
0 |
7 |
if $status != 0
|
1250
|
0 |
253 |
if (ref $_[0] eq 'HASH') { }
|
1257
|
0 |
253 |
unless (defined $fileName)
|
1263
|
0 |
253 |
unless (@newStat)
|
1272
|
0 |
253 |
if (ref $oldMember) { }
|
1280
|
0 |
9 |
unless (defined $oldMember and $oldMember->lastModTime == $newStat[9] and $oldMember->isDirectory == $isDir and $isDir || $oldMember->uncompressedSize == $newStat[7])
|
1286
|
8 |
236 |
$isDir ? :
|
1291
|
0 |
244 |
unless (defined $newMember)
|
1297
|
180 |
64 |
if (defined $oldMember) { }
|
1321
|
0 |
4 |
if (ref $_[0] eq 'HASH') { }
|
1331
|
0 |
4 |
unless defined $root
|
1333
|
4 |
0 |
unless defined $dest
|
1335
|
4 |
0 |
unless defined $pred
|
1339
|
0 |
4 |
$rootZipName eq './' ? :
|
1344
|
0 |
4 |
unless $startDir
|
1353
|
257 |
0 |
if &$pred
|
1369
|
4 |
253 |
if ($memberName eq $rootZipName) { }
|
1371
|
4 |
253 |
if $memberName =~ m[^\.?/?$]
|
1376
|
0 |
253 |
unless ref $changedMember
|
1382
|
1 |
3 |
if ($mirror)
|
1385
|
1 |
63 |
unless $done{$member->fileName}
|