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