| 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} |