line |
true |
false |
branch |
67
|
0 |
70 |
ref $_[0] eq 'HASH' ? : |
68
|
4 |
66 |
if ($fileName) |
70
|
4 |
0 |
$status == 0 ? : |
96
|
0 |
246 |
ref $_[0] eq 'HASH' ? : |
98
|
166 |
3815 |
if $member->fileName eq $fileName |
105
|
0 |
16 |
ref $_[0] eq 'HASH' ? : |
116
|
4 |
911 |
if (@_) |
118
|
0 |
4 |
ref $_[0] eq 'HASH' ? : |
158
|
0 |
116 |
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 |
9 |
if (ref $_[0] eq 'HASH') { } |
195
|
0 |
9 |
unless ref $oldMember |
196
|
0 |
9 |
unless $oldMember |
197
|
0 |
9 |
unless $newMember |
199
|
9 |
235 |
$_ == $oldMember ? : |
208
|
0 |
51 |
if (ref $_[0] eq 'HASH') { } |
215
|
21 |
30 |
unless ref $member |
216
|
0 |
51 |
unless $member |
219
|
11 |
40 |
if (defined $name) { } |
224
|
1 |
39 |
if ((my $ret = _extractionNameIsSafe($name)) != 0) |
230
|
6 |
44 |
if ($dirName and not -d $dirName) |
232
|
0 |
6 |
unless -d $dirName |
245
|
0 |
0 |
if (ref $_[0] eq 'HASH') { } |
252
|
0 |
0 |
unless ref $member |
253
|
0 |
0 |
unless $member |
255
|
0 |
0 |
if $member->isDirectory |
256
|
0 |
0 |
unless ($name) |
259
|
0 |
0 |
if ((my $ret = _extractionNameIsSafe($name)) != 0) |
270
|
0 |
233 |
ref $_[0] eq 'HASH' ? : |
271
|
233 |
0 |
if $newMember |
272
|
2 |
231 |
if ($newMember and $newMember->{'bitFlag'} & 2048 and not utf8::is_utf8($newMember->{'fileName'})) |
283
|
0 |
163 |
if (ref $_[0] eq 'HASH') { } |
291
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) |
297
|
0 |
163 |
if ($self->{'storeSymbolicLink'} and -l $fileName) { } |
315
|
0 |
13 |
if (ref $_[0] eq 'HASH') { } |
333
|
0 |
11 |
if (ref $_[0] eq 'HASH') { } |
340
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) |
345
|
0 |
11 |
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 |
76 |
ref $_[0] eq 'HASH' ? : |
428
|
0 |
218 |
if ($member->_usesFileNamed($fileName)) |
435
|
0 |
76 |
unless $status |
449
|
0 |
116 |
if (ref $_[0] eq 'HASH') { } |
452
|
0 |
0 |
exists $_[0]{'seek'} ? : |
455
|
76 |
40 |
@_ ? : |
458
|
0 |
116 |
unless $fh |
459
|
0 |
116 |
unless $fh->opened |
463
|
76 |
40 |
$fhIsSeekable ? : |
464
|
0 |
116 |
if $offset < 0 |
513
|
0 |
409 |
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
|
25 |
67 |
if ($membersZip64 or $eocdDataZip64 or $self->desiredZip64Mode == 1) |
622
|
3 |
46 |
if $versionMadeBy == 0 |
623
|
3 |
46 |
if $versionNeededToExtract < 45 |
625
|
0 |
49 |
unless $self->_print($fh, "PK\cF\cF") |
641
|
0 |
49 |
unless $self->_print($fh, $record) |
644
|
0 |
49 |
unless $self->_print($fh, "PK\cF\a") |
653
|
0 |
49 |
unless $self->_print($fh, $locator) |
657
|
0 |
116 |
unless $self->_print($fh, "PK\cE\cF") |
660
|
0 |
116 |
$numberOfCentralDirectoriesOnThisDisk > 65535 ? : |
|
0 |
116 |
$numberOfCentralDirectories > 65535 ? : |
|
0 |
116 |
$centralDirectorySize > 4294967295 ? : |
|
0 |
116 |
$centralDirectoryOffsetWRTStartingDiskNumber > 4294967295 ? : |
674
|
0 |
116 |
unless $self->_print($fh, $header) |
676
|
0 |
116 |
if ($zipfileCommentLength) |
677
|
0 |
0 |
unless $self->_print($fh, $self->zipfileComment) |
694
|
0 |
116 |
if (ref $_[0] eq 'HASH') { } |
701
|
0 |
116 |
if (defined $offset) { } |
703
|
0 |
0 |
unless $fh->seek($offset, 0) |
713
|
0 |
409 |
if $status != 0 |
724
|
0 |
47 |
ref $_[0] eq 'HASH' ? : |
725
|
0 |
47 |
unless $fileName |
727
|
0 |
47 |
unless $status |
730
|
0 |
47 |
if $status != 0 |
741
|
0 |
47 |
if (ref $_[0] eq 'HASH') { } |
748
|
0 |
47 |
unless defined $fileName |
749
|
0 |
47 |
unless $fh |
750
|
0 |
47 |
unless $fh->opened |
756
|
0 |
47 |
unless _isSeekable($fh) |
762
|
0 |
47 |
if $status != 0 |
766
|
0 |
47 |
if $status != 0 |
770
|
0 |
47 |
unless $fh->seek($eocdPosition - $self->centralDirectorySize, 0) |
785
|
0 |
117 |
if $status != 0 |
786
|
95 |
22 |
if (not $zip64) { } |
787
|
40 |
55 |
if $signature == 101010256 |
790
|
7 |
15 |
if $signature == 101075792 |
793
|
0 |
70 |
if $status != 0 |
795
|
0 |
70 |
if $status != 0 |
797
|
13 |
57 |
if ($newMember->isDirectory) |
800
|
0 |
13 |
unless $newMember->_ISA('Archive::Zip::DirectoryMember') |
804
|
10 |
60 |
if ($newMember->{'bitFlag'} & 2048 and not utf8::is_utf8($newMember->{'fileName'})) |
857
|
0 |
47 |
if ($eocdPosition < 20) |
862
|
0 |
47 |
unless $fh->seek(-20, 1) |
875
|
0 |
47 |
if $status == 4 |
876
|
0 |
47 |
if ($status == 3) |
877
|
0 |
0 |
unless $fh->seek($eocdPosition, 0) |
885
|
0 |
47 |
if ($bytesRead != 16) |
890
|
24 |
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 |
47 |
unless $fh->seek(4, 1) |
954
|
0 |
47 |
if ($bytesRead != 18) |
959
|
40 |
7 |
if (not $self->{'zip64'}) { } |
970
|
0 |
40 |
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 |
47 |
if ($zipfileCommentLength) |
999
|
0 |
0 |
if ($bytesRead != $zipfileCommentLength) |
1005
|
40 |
7 |
if (not $self->{'zip64'}) { } |
1008
|
40 |
0 |
wantarray ? : |
1014
|
7 |
0 |
wantarray ? : |
1026
|
0 |
47 |
unless $fh->seek(0, 2) |
1030
|
0 |
47 |
if ($fileLength < 22) |
1038
|
38 |
9 |
if $seekOffset > $fileLength |
1039
|
0 |
47 |
unless $fh->seek(-$seekOffset, 2) |
1042
|
0 |
47 |
if ($bytesRead != $seekOffset) |
1047
|
0 |
0 |
if $pos >= 0 or $seekOffset == $fileLength or $seekOffset >= $Archive::Zip::ChunkSize |
1052
|
47 |
0 |
if ($pos >= 0) { } |
1053
|
0 |
47 |
unless $fh->seek($pos - $seekOffset, 1) |
1075
|
0 |
7 |
if (ref $_[0] eq 'HASH') { } |
1084
|
0 |
7 |
unless defined $root |
1086
|
0 |
7 |
unless defined $dest |
1088
|
2 |
5 |
unless defined $pred |
1093
|
0 |
7 |
unless $startDir |
1102
|
0 |
650 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) { } |
1103
|
0 |
0 |
if &$pred |
1106
|
156 |
494 |
if &$pred |
1111
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) |
1118
|
2 |
5 |
$rootZipName eq './' ? : |
1124
|
0 |
156 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) { } |
1132
|
3 |
153 |
if ($archiveName eq $rootZipName) { } |
1134
|
0 |
156 |
if $archiveName =~ m[^\.?/?$] |
1135
|
4 |
152 |
$isDir ? : |
1141
|
0 |
156 |
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 |
81 |
if (grep(('..' eq $_), @directories)) |
1190
|
0 |
479 |
if (-l $path) |
1194
|
69 |
410 |
unless (-e $path) |
1210
|
0 |
4 |
if (ref $_[0] eq 'HASH') { } |
1218
|
2 |
2 |
unless defined $root |
1219
|
3 |
1 |
if (defined $dest) { } |
1220
|
3 |
0 |
unless ($dest =~ m[/$]) |
1235
|
1 |
42 |
if ((my $ret = _extractionNameIsSafe($fileName)) != 0) |
1238
|
0 |
42 |
if $status != 0 |
1250
|
0 |
157 |
if (ref $_[0] eq 'HASH') { } |
1257
|
0 |
157 |
unless (defined $fileName) |
1263
|
0 |
157 |
unless (@newStat) |
1272
|
0 |
157 |
if (ref $oldMember) { } |
1280
|
0 |
111 |
unless (defined $oldMember and $oldMember->lastModTime == $newStat[9] and $oldMember->isDirectory == $isDir and $isDir || $oldMember->uncompressedSize == $newStat[7]) |
1286
|
8 |
38 |
$isDir ? : |
1291
|
0 |
46 |
unless (defined $newMember) |
1297
|
6 |
40 |
if (defined $oldMember) { } |
1321
|
0 |
4 |
if (ref $_[0] eq 'HASH') { } |
1331
|
0 |
4 |
unless defined $root |
1333
|
0 |
4 |
unless defined $dest |
1335
|
4 |
0 |
unless defined $pred |
1339
|
0 |
4 |
$rootZipName eq './' ? : |
1344
|
0 |
4 |
unless $startDir |
1353
|
157 |
0 |
if &$pred |
1369
|
4 |
153 |
if ($memberName eq $rootZipName) { } |
1371
|
0 |
157 |
if $memberName =~ m[^\.?/?$] |
1376
|
0 |
157 |
unless ref $changedMember |
1382
|
1 |
3 |
if ($mirror) |
1385
|
1 |
39 |
unless $done{$member->fileName} |