line |
true |
false |
branch |
67
|
0 |
68 |
ref $_[0] eq 'HASH' ? : |
68
|
4 |
64 |
if ($fileName) |
70
|
4 |
0 |
$status == 0 ? : |
96
|
0 |
358 |
ref $_[0] eq 'HASH' ? : |
98
|
234 |
9306 |
if $member->fileName eq $fileName |
105
|
0 |
17 |
ref $_[0] eq 'HASH' ? : |
116
|
4 |
547 |
if (@_) |
118
|
0 |
4 |
ref $_[0] eq 'HASH' ? : |
158
|
0 |
77 |
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 |
165 |
if (ref $_[0] eq 'HASH') { } |
195
|
0 |
165 |
unless ref $oldMember |
196
|
0 |
165 |
unless $oldMember |
197
|
0 |
165 |
unless $newMember |
199
|
165 |
9881 |
$_ == $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 |
182 |
ref $_[0] eq 'HASH' ? : |
271
|
182 |
0 |
if $newMember |
272
|
2 |
180 |
if ($newMember and $newMember->{'bitFlag'} & 2048 and not utf8::is_utf8($newMember->{'fileName'})) |
283
|
0 |
92 |
if (ref $_[0] eq 'HASH') { } |
291
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) |
297
|
0 |
92 |
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 |
74 |
ref $_[0] eq 'HASH' ? : |
428
|
0 |
215 |
if ($member->_usesFileNamed($fileName)) |
435
|
0 |
74 |
unless $status |
449
|
0 |
77 |
if (ref $_[0] eq 'HASH') { } |
452
|
0 |
0 |
exists $_[0]{'seek'} ? : |
455
|
74 |
3 |
@_ ? : |
458
|
0 |
77 |
unless $fh |
459
|
0 |
77 |
unless $fh->opened |
463
|
74 |
3 |
$fhIsSeekable ? : |
464
|
0 |
77 |
if $offset < 0 |
513
|
0 |
242 |
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 |
46 |
if ($membersZip64 or $eocdDataZip64 or $self->desiredZip64Mode == 1) |
623
|
0 |
31 |
unless $self->_print($fh, "PK\cF\cF") |
639
|
0 |
31 |
unless $self->_print($fh, $record) |
642
|
0 |
31 |
unless $self->_print($fh, "PK\cF\a") |
651
|
0 |
31 |
unless $self->_print($fh, $locator) |
655
|
0 |
77 |
unless $self->_print($fh, "PK\cE\cF") |
658
|
0 |
77 |
$numberOfCentralDirectoriesOnThisDisk > 65535 ? : |
|
0 |
77 |
$numberOfCentralDirectories > 65535 ? : |
|
0 |
77 |
$centralDirectorySize > 4294967295 ? : |
|
0 |
77 |
$centralDirectoryOffsetWRTStartingDiskNumber > 4294967295 ? : |
672
|
0 |
77 |
unless $self->_print($fh, $header) |
674
|
0 |
77 |
if ($zipfileCommentLength) |
675
|
0 |
0 |
unless $self->_print($fh, $self->zipfileComment) |
692
|
0 |
77 |
if (ref $_[0] eq 'HASH') { } |
699
|
0 |
77 |
if (defined $offset) { } |
701
|
0 |
0 |
unless $fh->seek($offset, 0) |
711
|
0 |
242 |
if $status != 0 |
722
|
0 |
47 |
ref $_[0] eq 'HASH' ? : |
723
|
0 |
47 |
unless $fileName |
725
|
0 |
47 |
unless $status |
728
|
0 |
47 |
if $status != 0 |
739
|
0 |
47 |
if (ref $_[0] eq 'HASH') { } |
746
|
0 |
47 |
unless defined $fileName |
747
|
0 |
47 |
unless $fh |
748
|
0 |
47 |
unless $fh->opened |
754
|
0 |
47 |
unless _isSeekable($fh) |
760
|
0 |
47 |
if $status != 0 |
764
|
0 |
47 |
if $status != 0 |
768
|
0 |
47 |
unless $fh->seek($eocdPosition - $self->centralDirectorySize, 0) |
783
|
0 |
118 |
if $status != 0 |
784
|
96 |
22 |
if (not $zip64) { } |
785
|
40 |
56 |
if $signature == 101010256 |
788
|
7 |
15 |
if $signature == 101075792 |
791
|
0 |
71 |
if $status != 0 |
793
|
0 |
71 |
if $status != 0 |
795
|
12 |
59 |
if ($newMember->isDirectory) |
798
|
0 |
12 |
unless $newMember->_ISA('Archive::Zip::DirectoryMember') |
802
|
8 |
63 |
if ($newMember->{'bitFlag'} & 2048 and not utf8::is_utf8($newMember->{'fileName'})) |
849
|
0 |
47 |
if ($eocdPosition < 20) |
854
|
0 |
47 |
unless $fh->seek(-20, 1) |
867
|
0 |
47 |
if $status == 4 |
868
|
0 |
47 |
if ($status == 3) |
869
|
0 |
0 |
unless $fh->seek($eocdPosition, 0) |
877
|
0 |
47 |
if ($bytesRead != 16) |
882
|
24 |
23 |
if ($zip64EOCDPosition > $zip64EOCDLocatorPosition - 52 - 4) |
889
|
0 |
23 |
unless $fh->seek($zip64EOCDPosition, 0) |
896
|
0 |
23 |
if $status == 4 |
897
|
0 |
23 |
if ($status == 3) |
898
|
0 |
0 |
unless $fh->seek($eocdPosition, 0) |
907
|
0 |
23 |
if ($bytesRead != 52) |
915
|
16 |
7 |
if ($zip64EOCDPosition + 12 + $zip64EODCRecordSize != $zip64EOCDLocatorPosition) |
916
|
0 |
16 |
unless $fh->seek($eocdPosition, 0) |
936
|
0 |
7 |
unless $fh->seek($eocdPosition, 0) |
941
|
0 |
47 |
unless $fh->seek(4, 1) |
946
|
0 |
47 |
if ($bytesRead != 18) |
951
|
40 |
7 |
if (not $self->{'zip64'}) { } |
974
|
0 |
47 |
if ($zipfileCommentLength) |
977
|
0 |
0 |
if ($bytesRead != $zipfileCommentLength) |
983
|
40 |
7 |
if (not $self->{'zip64'}) { } |
986
|
40 |
0 |
wantarray ? : |
992
|
7 |
0 |
wantarray ? : |
1004
|
0 |
47 |
unless $fh->seek(0, 2) |
1008
|
0 |
47 |
if ($fileLength < 22) |
1016
|
39 |
8 |
if $seekOffset > $fileLength |
1017
|
0 |
47 |
unless $fh->seek(-$seekOffset, 2) |
1020
|
0 |
47 |
if ($bytesRead != $seekOffset) |
1025
|
0 |
0 |
if $pos >= 0 or $seekOffset == $fileLength or $seekOffset >= $Archive::Zip::ChunkSize |
1030
|
47 |
0 |
if ($pos >= 0) { } |
1031
|
0 |
47 |
unless $fh->seek($pos - $seekOffset, 1) |
1053
|
0 |
5 |
if (ref $_[0] eq 'HASH') { } |
1062
|
0 |
5 |
unless defined $root |
1064
|
0 |
5 |
unless defined $dest |
1066
|
2 |
3 |
unless defined $pred |
1071
|
0 |
5 |
unless $startDir |
1080
|
0 |
521 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) { } |
1081
|
0 |
0 |
if &$pred |
1084
|
83 |
438 |
if &$pred |
1089
|
0 |
0 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) |
1096
|
2 |
3 |
$rootZipName eq './' ? : |
1102
|
0 |
83 |
if ($^O eq 'MSWin32' and $Archive::Zip::UNICODE) { } |
1110
|
2 |
81 |
if ($archiveName eq $rootZipName) { } |
1112
|
0 |
83 |
if $archiveName =~ m[^\.?/?$] |
1113
|
2 |
81 |
$isDir ? : |
1119
|
0 |
83 |
unless $member |
1128
|
0 |
0 |
if (ref $_[0] eq 'HASH') { } |
1138
|
0 |
0 |
unless defined $root |
1140
|
0 |
0 |
unless defined $dest |
1141
|
0 |
0 |
unless defined $pattern |
1144
|
0 |
0 |
if /$pattern/ |
|
0 |
0 |
if /$pattern/ |
|
0 |
0 |
$pred ? : |
1159
|
2 |
51 |
if (grep(('..' eq $_), @directories)) |
1168
|
5 |
189 |
if (-l $path) |
1172
|
34 |
155 |
unless (-e $path) |
1188
|
0 |
5 |
if (ref $_[0] eq 'HASH') { } |
1196
|
4 |
1 |
unless defined $root |
1197
|
2 |
3 |
if (defined $dest) { } |
1198
|
2 |
0 |
unless ($dest =~ m[/$]) |
1213
|
3 |
7 |
if ((my $ret = _extractionNameIsSafe($fileName)) != 0) |
1216
|
0 |
7 |
if $status != 0 |
1228
|
0 |
245 |
if (ref $_[0] eq 'HASH') { } |
1235
|
0 |
245 |
unless (defined $fileName) |
1241
|
0 |
245 |
unless (@newStat) |
1250
|
0 |
245 |
if (ref $oldMember) { } |
1258
|
0 |
21 |
unless (defined $oldMember and $oldMember->lastModTime == $newStat[9] and $oldMember->isDirectory == $isDir and $isDir || $oldMember->uncompressedSize == $newStat[7]) |
1264
|
2 |
222 |
$isDir ? : |
1269
|
0 |
224 |
unless (defined $newMember) |
1275
|
162 |
62 |
if (defined $oldMember) { } |
1299
|
0 |
4 |
if (ref $_[0] eq 'HASH') { } |
1309
|
0 |
4 |
unless defined $root |
1311
|
4 |
0 |
unless defined $dest |
1313
|
4 |
0 |
unless defined $pred |
1317
|
0 |
4 |
$rootZipName eq './' ? : |
1322
|
0 |
4 |
unless $startDir |
1331
|
249 |
0 |
if &$pred |
1347
|
4 |
245 |
if ($memberName eq $rootZipName) { } |
1349
|
4 |
245 |
if $memberName =~ m[^\.?/?$] |
1354
|
0 |
245 |
unless ref $changedMember |
1360
|
1 |
3 |
if ($mirror) |
1363
|
1 |
61 |
unless $done{$member->fileName} |