| line | true | false | branch | 
 
| 116 | 54 | 421 | unless my $magic = $self->ckMagic | 
 
| 119 | 2 | 418 | unless *$self->{'Info'} = $self->readHeader($magic) | 
 
| 135 | 47 | 1340 | if length $magic != 4 | 
 
| 139 | 324 | 1016 | unless _isZipMagic($magic) | 
 
| 160 | 81 | 1097 | if length $offset < $c | 
 
| 165 | 0 | 1178 | unless $self->smartReadExact(\$buffer, $c) | 
 
| 183 | 1013 | 37 | if (not defined $name or $hdr->{'Name'} eq $name) | 
 
| 191 | 11 | 26 | if (*$self->{'ZipData'}{'Streaming'}) { } | 
 
| 197 | 0 | 12 | if $status <= 0 | 
 
| 207 | 0 | 12 | if $self->saveStatus($status) == -1 | 
 
| 211 | 11 | 1 | if ($status == 1) | 
 
| 219 | 0 | 11 | unless $self->smartReadExact(\$buffer, $hdr->{'TrailerLength'}) | 
 
| 223 | 0 | 26 | unless $self->fastForward($c) | 
 
| 228 | 0 | 37 | unless $self->chkTrailer($buffer) == 0 | 
 
| 233 | 0 | 37 | if $self->smartEof | 
 
| 247 | 939 | 102 | if (*$self->{'ZipData'}{'Streaming'}) { } | 
 
| 251 | 31 | 908 | if (*$self->{'ZipData'}{'Zip64'}) { } | 
 
| 260 | 2 | 937 | if $sig != 134695760 | 
 
| 274 | 489 | 550 | if (*$self->{'Strict'}) | 
 
| 276 | 0 | 489 | if $CRC32 != *$self->{'ZipData'}{'CRC32'} | 
 
| 279 | 0 | 489 | unless $cSize->equal(*$self->{'CompSize'}) | 
 
| 282 | 0 | 489 | unless $uSize->equal(*$self->{'UnCompSize'}) | 
 
| 293 | 0 | 0 | if $got != 4 and *$self->{'Strict'} | 
 
| 295 | 0 | 2113 | if ($got == 0) { } | 
 
|  | 0 | 2113 | elsif ($got < 0) { } | 
 
|  | 0 | 2113 | elsif ($got < 4) { } | 
 
| 309 | 1725 | 388 | if ($hdr = $headerLookup{$sig}) { } | 
 
|  | 388 | 0 | elsif ($sig == 67324752) { } | 
 
| 311 | 0 | 1725 | if (&$hdr($self, $magic) != 0) | 
 
| 312 | 0 | 0 | if (*$self->{'Strict'}) { } | 
 
| 321 | 651 | 1074 | if ($sig == 101010256) | 
 
| 349 | 0 | 1006 | unless $self->smartReadExact(\$buffer, 42) | 
 
| 376 | 240 | 766 | if ($filename_length) | 
 
| 378 | 0 | 240 | unless $self->smartReadExact(\$filename, $filename_length) | 
 
| 383 | 166 | 840 | if ($extra_length) | 
 
| 385 | 0 | 166 | unless $self->smartReadExact(\$extraField, $extra_length) | 
 
| 390 | 1 | 1005 | if ($comment_length) | 
 
| 392 | 0 | 1 | unless $self->smartReadExact(\$comment, $comment_length) | 
 
| 406 | 0 | 0 | unless $self->smartReadExact(\$buffer, 4) | 
 
| 414 | 0 | 0 | unless $self->smartReadExact(\$buffer, $size) | 
 
| 431 | 0 | 34 | unless $self->smartReadExact(\$buffer, 8) | 
 
| 440 | 0 | 34 | unless $self->fastForward($size) | 
 
| 465 | 0 | 34 | unless $self->smartReadExact(\$buffer, 16) | 
 
| 486 | 0 | 651 | unless $self->smartReadExact(\$buffer, 18) | 
 
| 503 | 0 | 651 | if ($comment_length) | 
 
| 505 | 0 | 0 | unless $self->smartReadExact(\$comment, $comment_length) | 
 
| 517 | 0 | 1377 | if length $buffer < 4 | 
 
| 532 | 0 | 37 | if length $magic != 4 | 
 
| 537 | 0 | 37 | unless _isZipMagic($magic) | 
 
| 541 | 0 | 37 | unless defined $status | 
 
| 551 | 0 | 1053 | unless $self->smartReadExact(\$buffer, 26) | 
 
| 576 | 943 | 110 | $gpFlag & 8 && $crc32 == 0 ? : | 
 
| 578 | 35 | 1018 | $gpFlag & 2048 ? : | 
 
| 580 | 2 | 1051 | if $gpFlag & 65 | 
 
| 583 | 0 | 1051 | if $gpFlag & 32 | 
 
| 589 | 276 | 775 | if ($filename_length) | 
 
| 591 | 0 | 276 | unless $self->smartReadExact(\$filename, $filename_length) | 
 
| 594 | 5 | 0 | if (*$self->{'UnzipData'}{'efs'} and $efs_flag and $] >= "5.008004") | 
 
| 597 | 1 | 4 | unless eval {
	do {
	$filename = Encode::decode_utf8($filename, 1)
}
} | 
 
| 606 | 197 | 853 | if ($extra_length) | 
 
| 608 | 0 | 197 | unless $self->smartReadExact(\$extraField, $extra_length) | 
 
| 613 | 0 | 197 | if defined $bad | 
 
| 624 | 47 | 150 | if (defined $Extra{"\cA\000"}) | 
 
| 634 | 16 | 31 | unless ($streamingMode) | 
 
| 637 | 16 | 0 | if (U64::full32($uncompressedLength->get32bit)) | 
 
| 644 | 16 | 0 | if (U64::full32($compressedLength->get32bit)) | 
 
| 657 | 108 | 942 | unless ($streamingMode) | 
 
| 668 | 943 | 107 | if ($compressedMethod == 8) { } | 
 
|  | 32 | 75 | elsif ($compressedMethod == 12) { } | 
 
|  | 0 | 75 | elsif ($compressedMethod == 95) { } | 
 
|  | 0 | 75 | elsif ($compressedMethod == 93) { } | 
 
|  | 0 | 75 | elsif ($compressedMethod == 14) { } | 
 
|  | 75 | 0 | elsif ($compressedMethod == 0) { } | 
 
| 677 | 0 | 32 | unless defined $IO::Uncompress::Adapter::Bunzip2::VERSION | 
 
| 688 | 0 | 0 | unless defined $IO::Uncompress::Adapter::UnXz::VERSION | 
 
| 699 | 0 | 0 | unless defined $IO::Uncompress::Adapter::UnZstd::VERSION | 
 
| 710 | 0 | 0 | unless defined $IO::Uncompress::Adapter::UnLzma::VERSION | 
 
| 715 | 0 | 0 | unless $self->smartReadExact(\$LzmaHeader, 4) | 
 
| 722 | 0 | 0 | unless $self->smartReadExact(\$LzmaPropertyData, $LzmaPropertiesSize) | 
 
| 725 | 0 | 0 | unless ($streamingMode) | 
 
| 768 | 31 | 911 | $zip64 ? : | 
 
|  | 108 | 942 | !$streamingMode ? : | 
 
| 793 | 1125 | 95 | if (*$self->{'ZipData'}{'Method'} == 8) { } | 
 
| 817 | 0 | 1050 | unless defined $time_t | 
 
| 893 | 0 | 0 | if (ref $size eq 'U64') { } | 
 
| 917 | 0 | 0 | unless defined $offset | 
 
| 936 | 0 | 0 | if (U64::full32($compressedLength)) { } | 
 
| 938 | 0 | 0 | if length $buffer != $extra_length | 
 
| 943 | 0 | 0 | if defined $got | 
 
| 968 | 0 | 0 | if (not defined $extra) { } | 
 
| 974 | 0 | 0 | $is_uncomp ? : | 
 
| 984 | 0 | 0 | unless $self->smartSeek($here - 20, 0, 0) | 
 
| 989 | 0 | 0 | unless $self->smartReadExact(\$buffer, 20) | 
 
| 992 | 0 | 0 | if (unpack("V", $buffer) == 117853008) | 
 
| 997 | 0 | 0 | unless $self->smartReadExact(\$buffer, 4) | 
 
| 1000 | 0 | 0 | if (unpack("V", $buffer) == 101075792) | 
 
| 1002 | 0 | 0 | unless $self->smartReadExact(\$buffer, 8) | 
 
| 1005 | 0 | 0 | unless $self->smartReadExact(\$buffer, $size) | 
 
| 1033 | 0 | 0 | unless $self->smartReadExact(\$buffer, 22) | 
 
| 1038 | 0 | 0 | if (unpack('V', $buffer) == 101010256) { } | 
 
| 1050 | 0 | 0 | if ($seekTo < 0) | 
 
| 1054 | 0 | 0 | unless $self->smartSeek($seekTo, 0, 0) | 
 
| 1057 | 0 | 0 | unless $self->smartReadExact($buffer, $want) | 
 
| 1061 | 0 | 0 | if ($pos >= 0) | 
 
| 1069 | 0 | 0 | if $want == $fileLen | 
 
| 1073 | 0 | 0 | if U64::full32($centralDirOffset) |