| line | true | false | branch | 
 
| 155 | 0 | 0 | if $pos + 4 > $end | 
 
| 157 | 0 | 0 | unless $val | 
 
| 159 | 0 | 0 | unless $tagInfo | 
 
| 160 | 0 | 0 | if ($index & 2) { } | 
 
| 168 | 0 | 0 | if $pos + $hdrLen > $end | 
 
| 172 | 0 | 0 | if ($et->{'OPTIONS'}{'Binary'} and not $et->{'EXCL_TAG_LOOKUP'}{$lcTag} or $et->{'REQ_TAG_LOOKUP'}{$lcTag}) { } | 
 
| 175 | 0 | 0 | unless (eval {
	do {
	require Compress::Zlib
}
}) | 
 
| 186 | 0 | 0 | if ($p1 >= $p2 or $p2 > $end) | 
 
| 193 | 0 | 0 | if $inflate | 
 
| 194 | 0 | 0 | if ($inflate and $stat == Compress::Zlib::Z_STREAM_END()) { } | 
 
| 203 | 0 | 0 | if $pos + $hdrLen > $end | 
 
| 205 | 0 | 0 | if $pos + $len > $end | 
 
| 213 | 0 | 0 | if defined $err | 
 
| 232 | 0 | 3 | unless $$dataPt =~ /^Adobe\0/ | 
 
| 233 | 2 | 1 | unless ($outfile) | 
 
| 237 | 0 | 2 | if $fast and $fast > 1 | 
 
| 239 | 0 | 3 | if $htmlDump | 
 
| 245 | 0 | 3 | if $pos + $size > $end | 
 
| 247 | 0 | 3 | if ($htmlDump) | 
 
| 252 | 0 | 0 | unless ($tag =~ /^(MakN|SR2 )$/) | 
 
| 256 | 0 | 3 | if ($verbose and not $outfile) | 
 
| 257 | 0 | 0 | unless $tagInfo | 
 
| 258 | 0 | 0 | ref $tagInfo eq 'HASH' ? : | 
 
| 269 | 0 | 3 | if (ref $tagInfo eq 'HASH') { } | 
 
| 270 | 0 | 0 | unless ($tagInfo->{'SubDirectory'}) | 
 
| 271 | 0 | 0 | if ($outfile) { } | 
 
| 296 | 1 | 2 | if ($outfile) { } | 
 
| 300 | 0 | 1 | unless defined $value | 
 
| 307 | 1 | 2 | if (defined $value and length $value) | 
 
| 309 | 1 | 0 | unless $$outfile and length $$outfile | 
 
| 311 | 0 | 1 | if length $value & 1 | 
 
| 314 | 0 | 3 | if $size & 1 | 
 
| 316 | 0 | 3 | unless $pos == $end | 
 
| 339 | 0 | 0 | if $dirInfo->{'DirLen'} < 4 | 
 
| 341 | 0 | 0 | unless $byteOrder =~ /^(II|MM)$/ | 
 
| 344 | 0 | 0 | if $buildMakerNotes | 
 
| 348 | 0 | 0 | unless $outfile | 
 
| 349 | 0 | 0 | if ($outfile) | 
 
| 358 | 0 | 0 | if $pos + 6 > $end | 
 
| 362 | 0 | 0 | if $pos + $size > $end | 
 
| 369 | 0 | 0 | if ($tagInfo) | 
 
| 370 | 0 | 0 | if $tagInfo->{'Format'} | 
 
| 374 | 0 | 0 | if (not defined $count and $tag & 16384 and $format and $format ne "string") | 
 
| 378 | 0 | 0 | if ($format and not $count) | 
 
| 384 | 0 | 0 | unless $format | 
 
| 387 | 0 | 0 | if ($outfile) { } | 
 
| 388 | 0 | 0 | if ($tagInfo) | 
 
| 390 | 0 | 0 | if ($subdir and $subdir->{'TagTable'}) { } | 
 
|  | 0 | 0 | elsif ($newTags->{$tagID}) { } | 
 
| 393 | 0 | 0 | unless $newTagTable | 
 
| 396 | 0 | 0 | if $subdir->{'Start'} | 
 
| 407 | 0 | 0 | if (defined $subdir->{'Validate'} and not eval $subdir->{'Validate'}) { } | 
 
| 411 | 0 | 0 | if (defined $subdir and length $subdir) | 
 
| 412 | 0 | 0 | if ($subdirStart) { } | 
 
| 422 | 0 | 0 | if ($et->IsOverwriting($nvHash, $val)) | 
 
| 425 | 0 | 0 | if $verbose > 1 | 
 
| 427 | 0 | 0 | if (defined $newVal and $format) | 
 
| 430 | 0 | 0 | if (defined $newVal) | 
 
| 452 | 0 | 0 | if ($buildMakerNotes) | 
 
| 460 | 0 | 0 | if $tagID == 2053 | 
 
| 464 | 0 | 0 | if ($outfile and !defined($$outfile) || $index != $entries || $et->{'CHANGED'} == $oldChanged) | 
 
| 470 | 0 | 0 | if ($index != $entries) { } | 
 
|  | 0 | 0 | elsif ($pos < $end) { } | 
 
| 476 | 0 | 0 | if ($buildMakerNotes) | 
 
| 503 | 0 | 0 | if ($outfile and defined $$outfile and length $$outfile) | 
 
| 517 | 0 | 0 | if $dirInfo->{'OutFile'} | 
 
| 524 | 0 | 0 | if ($pos + 2 <= $dirEnd and &SetByteOrder(substr($$dataPt, $pos, 2))) { } | 
 
| 539 | 0 | 0 | if $pos + 4 > $dirEnd | 
 
| 542 | 0 | 0 | unless $len | 
 
| 543 | 0 | 0 | unless $readIt | 
 
| 549 | 0 | 0 | unless $et->ProcessDirectory(\%dirInfo, $tagTablePtr) | 
 
| 553 | 0 | 0 | if $warn | 
 
| 565 | 0 | 0 | if $dirInfo->{'OutFile'} | 
 
| 570 | 0 | 0 | if $len < 6 | 
 
| 573 | 0 | 0 | unless &SetByteOrder(substr($$dataPt, $start, 2)) | 
 
| 592 | 0 | 0 | if ($et->Options("HtmlDump")) | 
 
| 608 | 0 | 0 | if $dirInfo->{'OutFile'} | 
 
| 613 | 0 | 0 | if $dirInfo->{'DirLen'} < 4 | 
 
| 615 | 0 | 0 | unless &SetByteOrder($dataOrder) | 
 
| 628 | 0 | 0 | if $pos + 8 > $end | 
 
| 633 | 0 | 0 | if ($format < 1 or $format > 13) | 
 
| 635 | 0 | 0 | if $format | 
 
| 640 | 0 | 0 | if $pos + 8 + $size > $end | 
 
| 653 | 0 | 0 | if ($index < $entries) | 
 
| 674 | 0 | 3 | if $len < 6 | 
 
| 677 | 0 | 3 | unless &SetByteOrder(substr($$dataPt, $start, 2)) | 
 
| 679 | 2 | 1 | unless $outfile | 
 
| 691 | 0 | 3 | if $len >= 18 and substr($$dataPt, $start + 6, 4) eq "\0\0\0\1" | 
 
| 696 | 0 | 3 | $dirLen < 48 ? : | 
 
| 698 | 0 | 3 | unless $tagInfo and $tagInfo->{'SubDirectory'} | 
 
| 718 | 0 | 3 | unless (defined $loc) | 
 
| 722 | 0 | 3 | if ($et->Options("HtmlDump")) | 
 
| 724 | 0 | 0 | if $loc | 
 
| 728 | 3 | 0 | unless ($subdir->{'Base'}) | 
 
| 734 | 1 | 2 | if ($outfile) { } | 
 
| 740 | 0 | 1 | unless (defined $buff and $et->{'CHANGED'} != $oldChanged) | 
 
| 745 | 0 | 1 | unless (length $buff) | 
 
| 750 | 0 | 1 | if ($subdirInfo{'Relative'}) { } | 
 
| 759 | 0 | 1 | if $subdirInfo{'BlockWrite'} | 
 
| 770 | 0 | 2 | if ($et->Options("MakerNotes") or $et->{'REQ_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}) | 
 
| 774 | 0 | 0 | if ($tagInfo->{'MakerNotes'}) { } | 
 
| 781 | 0 | 0 | if (not defined $val and $dirLen > 4) | 
 
| 786 | 0 | 0 | unless $tagInfo->{'Writable'} | 
 
| 788 | 0 | 0 | unless defined $val | 
 
| 802 | 9 | 2 | unless $et | 
 
| 806 | 0 | 2 | unless &$proc($et, $dirInfo, $tagTablePtr) |