| line | true | false | branch | 
 
| 757 | 3 | 0 | unless %Image::ExifTool::UserDefined | 
 
| 761 | 0 | 0 | unless $tableName =~ /^Image::ExifTool::MIE::/ | 
 
| 763 | 0 | 0 | unless my $tagTablePtr = &GetTagTable($tableName) | 
 
| 774 | 0 | 0 | unless $parent | 
 
| 775 | 0 | 0 | unless $mieMap{$parent} | 
 
| 778 | 0 | 0 | unless ref $tagInfo eq "HASH" and $tagInfo->{'SubDirectory'} | 
 
| 780 | 0 | 0 | unless my $subTablePtr = &GetTagTable($subTableName) | 
 
| 783 | 0 | 0 | unless $subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::MIE::ProcessMIE | 
 
| 785 | 0 | 0 | unless $group | 
 
| 786 | 0 | 0 | if ($mieMap{$group} and $mieMap{$group} ne $parent) | 
 
| 791 | 0 | 0 | if $doneTable{$subTableName} | 
 
| 806 | 10 | 48 | unless $langCode =~ /^[a-z]{2}([-_])[A-Z]{2}$/ | 
 
| 808 | 0 | 48 | if $1 eq "-" | 
 
| 810 | 0 | 48 | if $tagInfo->{'Writable'} and $tagInfo->{'Writable'} ne "string" | 
 
| 820 | 0 | 0 | unless (defined $hasZlib) | 
 
| 822 | 0 | 0 | unless ($hasZlib) | 
 
| 837 | 32 | 0 | &GetByteOrder() eq 'MM' ? : | 
 
| 838 | 32 | 0 | $chr ? : | 
 
| 853 | 332 | 161 | if ($format =~ /^(utf(8|16|32)|string)/) { } | 
 
| 854 | 308 | 24 | if ($1 eq 'utf8' or $1 eq 'string') { } | 
 
| 861 | 24 | 0 | if (&GetByteOrder() eq 'MM') { } | 
 
| 862 | 24 | 0 | $1 eq 'utf16' ? : | 
 
| 864 | 0 | 0 | $1 eq 'utf16' ? : | 
 
| 867 | 24 | 0 | if ($] >= 5.006001) { } | 
 
| 875 | 324 | 8 | unless $format =~ /_list$/ | 
 
| 877 | 0 | 161 | if $format eq "free" | 
 
| 893 | 0 | 547 | if not $format or $format eq 1 | 
 
| 896 | 1 | 546 | if ($ulist and $$valPtr =~ /(.*)\((.*)\)$/) { } | 
 
|  | 7 | 539 | elsif (not $format =~ /^(utf|string|undef)/ and $$valPtr =~ /\)$/) { } | 
 
| 899 | 0 | 1 | unless defined $units | 
 
| 902 | 1 | 0 | unless $err | 
 
| 906 | 0 | 273 | if ($format eq "string" and $et->{'OPTIONS'}{'Charset'} ne "UTF8" and $$valPtr =~ /[\x80-\xff]/) | 
 
| 940 | 9 | 37 | if ($grp eq 'MIE-Main') { } | 
 
| 956 | 9 | 37 | if (%{$et->{'DEL_GROUP'};}) | 
 
| 960 | 0 | 9 | if $et->{'DEL_GROUP'}{'MIE'} or $et->{'DEL_GROUP'}{$grp} or $et->{'DEL_GROUP'}{$grp1} or $et->{'DEL_GROUP'}{"MIE$n"} | 
 
| 967 | 0 | 0 | $raf ? : | 
 
|  | 0 | 46 | if $verbose | 
 
| 973 | 125 | 14 | if ($raf) | 
 
| 976 | 1 | 124 | if ($n != 4) | 
 
| 977 | 0 | 1 | if $n or defined $sync | 
 
| 982 | 124 | 15 | if ($raf) { } | 
 
| 984 | 0 | 124 | unless $sync eq "~" | 
 
| 987 | 93 | 31 | if ($tagLen) { } | 
 
| 988 | 0 | 93 | unless $raf->Read($tag, $tagLen) == $tagLen | 
 
| 990 | 0 | 93 | if $tag lt $lastTag | 
 
| 992 | 1 | 92 | if $tag =~ s/\((.*)\)$// | 
 
| 998 | 0 | 124 | if ($valLen > 252) | 
 
| 1001 | 0 | 0 | unless $raf->Read($buff, $n) == $n | 
 
| 1005 | 0 | 0 | if ($valLen > 2147483647) | 
 
| 1011 | 0 | 0 | if ($format == 128 or $delGroup and $tagLen and ($format & 240) != 16) | 
 
| 1012 | 0 | 0 | unless $raf->Seek($valLen, 1) | 
 
| 1013 | 0 | 0 | if ($verbose > 1) | 
 
| 1014 | 0 | 0 | $format == 128 ? : | 
 
| 1017 | 0 | 0 | if $delGroup | 
 
| 1029 | 40 | 98 | if $tagLen and $editTags[0] gt $tag | 
 
| 1033 | 0 | 98 | if length $newTag > 255 | 
 
| 1035 | 38 | 60 | if ($newInfo) { } | 
 
| 1038 | 0 | 38 | unless ($subTablePtr) | 
 
| 1046 | 11 | 27 | if ($newTag eq $tag) { } | 
 
| 1048 | 0 | 11 | if ($isMieGroup xor ($format & 243) == 16) | 
 
| 1053 | 0 | 11 | if ($format & 4) | 
 
| 1054 | 0 | 0 | unless &HasZlib($et, "edit") | 
 
| 1055 | 0 | 0 | unless $raf->Read($oldVal, $valLen) == $valLen | 
 
| 1058 | 0 | 0 | if $inflate | 
 
| 1059 | 0 | 0 | unless ($inflate and $stat == Compress::Zlib::Z_STREAM_END()) | 
 
| 1068 | 7 | 20 | unless $addDirs->{$newTag} | 
 
| 1071 | 25 | 6 | if ($isMieGroup) { } | 
 
| 1073 | 11 | 14 | if ($newTag eq $tag) { } | 
 
|  | 0 | 14 | elsif ($optCompress and not $dirInfo->{'IsCompressed'}) { } | 
 
| 1075 | 11 | 0 | unless $compress | 
 
| 1101 | 0 | 14 | if $msg | 
 
| 1103 | 2 | 12 | if (defined $msg) { } | 
 
|  | 12 | 0 | elsif (not $compress) { } | 
 
|  | 0 | 0 | elsif (length $newVal <= 4) { } | 
 
| 1111 | 0 | 0 | if $verbose | 
 
| 1112 | 0 | 0 | if $newTag eq $tag | 
 
| 1118 | 0 | 6 | if ($newTag eq $tag) | 
 
| 1119 | 0 | 0 | unless ($compress) | 
 
| 1121 | 0 | 0 | unless $raf->Read($oldVal, $valLen) == $valLen | 
 
| 1127 | 0 | 0 | $dirInfo->{'IsCompressed'} ? : | 
 
| 1132 | 0 | 0 | if ($compress || $optCompress || $dirInfo->{'IsCompressed'} and eval {
	do {
	require Compress::Zlib
}
}) | 
 
| 1144 | 5 | 1 | if (defined $newVal) { } | 
 
| 1145 | 0 | 5 | if ($newVal eq "") | 
 
| 1146 | 0 | 0 | if $newTag eq $tag | 
 
| 1150 | 1 | 0 | unless defined $oldVal | 
 
| 1165 | 0 | 60 | unless $isWriting{$writeGroup} | 
 
| 1168 | 1 | 59 | if ($newTag eq $tag) { } | 
 
| 1171 | 0 | 1 | if ($isList) { } | 
 
| 1172 | 0 | 0 | if $nvHash->{'CreateOnly'} | 
 
| 1176 | 0 | 1 | unless $isOverwriting | 
 
| 1179 | 0 | 1 | if ($isOverwriting < 0 or $verbose > 1) | 
 
| 1181 | 0 | 0 | if $format & 4 | 
 
| 1183 | 0 | 0 | unless $raf->Read($oldVal, $valLen) == $valLen | 
 
| 1185 | 0 | 0 | if ($format & 4) | 
 
| 1191 | 0 | 0 | if $inflate | 
 
| 1192 | 0 | 0 | unless ($inflate and $stat == Compress::Zlib::Z_STREAM_END()) | 
 
| 1201 | 0 | 0 | if ($isOverwriting < 0 and defined $val) | 
 
| 1203 | 0 | 0 | if ($isList) { } | 
 
| 1205 | 0 | 0 | if ($formatStr =~ /_list$/) { } | 
 
| 1212 | 0 | 0 | if $et->IsOverwriting($nvHash, $v) | 
 
| 1221 | 1 | 0 | if ($isOverwriting) { } | 
 
| 1223 | 1 | 0 | unless (defined $oldVal) | 
 
| 1224 | 0 | 1 | unless $raf->Seek($valLen, 1) | 
 
| 1226 | 0 | 1 | if ($verbose > 1) | 
 
| 1227 | 0 | 0 | if defined $units | 
 
| 1233 | 0 | 0 | if (defined $oldVal) { } | 
 
| 1235 | 0 | 0 | if defined $cmpVal | 
 
| 1237 | 0 | 0 | unless $raf->Read($oldVal, $valLen) == $valLen | 
 
| 1240 | 0 | 0 | unless &Write($outfile, $toWrite, $oldHdr, $oldVal) | 
 
| 1244 | 1 | 0 | unless (@newVals) | 
 
| 1253 | 0 | 0 | unless $nvHash->{'IsCreating'} or $newTag eq $lastTag and $newInfo->{'List'} || $deletedTag eq $lastTag | 
 
| 1257 | 0 | 59 | unless @newVals | 
 
| 1259 | 40 | 19 | if ($writable eq 'string') { } | 
 
| 1264 | 9 | 31 | if ($isUTF8 > 0) | 
 
| 1267 | 0 | 9 | $isUTF8 > 1 ? : | 
 
| 1269 | 3 | 6 | if (length $tmp < length $newVal) | 
 
| 1271 | 0 | 3 | $isUTF8 > 1 ? : | 
 
| 1275 | 1 | 39 | if @newVals > 1 | 
 
| 1281 | 0 | 59 | unless (defined $newFormat) | 
 
| 1291 | 1 | 63 | if ($newInfo->{'Units'}) | 
 
| 1293 | 1 | 0 | if ($$valPt =~ /(.*)\((.*)\)$/) { } | 
 
| 1306 | 17 | 47 | unless ($writable =~ /^(utf|string|undef)/) | 
 
| 1308 | 0 | 17 | unless defined $val3 | 
 
| 1313 | 0 | 0 | if ($compress || $optCompress and not $dirInfo->{'IsCompressed'} and &HasZlib($et, "write")) | 
 
| 1318 | 0 | 0 | if ($deflate) | 
 
| 1320 | 0 | 0 | if defined $val4 | 
 
| 1322 | 0 | 0 | if (defined $val4) { } | 
 
| 1326 | 0 | 0 | if ($saved > 0) { } | 
 
|  | 0 | 0 | elsif ($verbose) { } | 
 
| 1327 | 0 | 0 | if $verbose | 
 
| 1340 | 61 | 3 | if ($len < 253) { } | 
 
|  | 3 | 0 | elsif ($len < 65536) { } | 
 
|  | 0 | 0 | elsif ($len <= 2147483647) { } | 
 
| 1354 | 0 | 64 | unless &Write($outfile, $hdr, chr $len, $newTag, $extLen, $$valPt) | 
 
| 1357 | 59 | 5 | unless ($editDirs->{$newTag}) | 
 
| 1363 | 0 | 64 | if defined $oldVal | 
 
| 1369 | 46 | 92 | unless ($tagLen) | 
 
| 1371 | 0 | 46 | if $valLen and not $raf->Seek($valLen, 1) | 
 
| 1374 | 44 | 2 | unless ($toWrite) | 
 
| 1377 | 9 | 35 | unless ($dirInfo->{'Parent'}) | 
 
| 1379 | 7 | 2 | ref $outfile eq 'SCALAR' ? : | 
 
| 1381 | 9 | 0 | if ($len and $len <= 2147483647) | 
 
| 1385 | 0 | 44 | unless &Write($outfile, $term) | 
 
| 1391 | 23 | 69 | if ($format == 16 or $format == 24) | 
 
| 1394 | 23 | 0 | if ($tagInfo and $tagInfo->{'SubDirectory'}) { } | 
 
| 1397 | 23 | 0 | $subTable ? : | 
 
| 1411 | 0 | 23 | $format & 8 ? : | 
 
| 1414 | 0 | 23 | if $msg | 
 
| 1415 | 0 | 23 | if (defined $msg) { } | 
 
| 1424 | 0 | 69 | unless $raf->Read($oldVal, $valLen) == $valLen | 
 
| 1425 | 15 | 54 | if ($toWrite) | 
 
| 1426 | 0 | 15 | unless &Write($outfile, $toWrite) | 
 
| 1429 | 0 | 69 | unless &Write($outfile, $oldHdr, $oldVal) | 
 
| 1432 | 0 | 46 | if ($err) { } | 
 
|  | 0 | 46 | elsif (not $ok || $msg) { } | 
 
|  | 2 | 44 | elsif (not $msg and $toWrite) { } | 
 
| 1438 | 0 | 2 | if $verbose | 
 
| 1463 | 27 | 113 | if ($grp1 eq 'MIE-Main') { } | 
 
| 1465 | 0 | 27 | if $n > 1 | 
 
| 1467 | 0 | 113 | if $n > 1 | 
 
| 1469 | 0 | 113 | if $cnt->{$grp1} > 1 | 
 
| 1474 | 0 | 140 | if ($verbose) | 
 
| 1483 | 0 | 746 | unless $raf->Read($buff, 4) == 4 | 
 
| 1485 | 0 | 746 | unless $sync eq "~" | 
 
| 1489 | 606 | 140 | if ($tagLen) { } | 
 
| 1490 | 0 | 606 | unless $raf->Read($tag, $tagLen) == $tagLen | 
 
| 1491 | 0 | 606 | if $tag lt $lastTag | 
 
| 1494 | 8 | 598 | if $tag =~ s/\((.*)\)$// | 
 
| 1500 | 3 | 743 | if ($valLen > 252) | 
 
| 1502 | 0 | 3 | unless $raf->Read($buff, $n) == $n | 
 
| 1505 | 0 | 3 | if ($valLen > 2147483647) | 
 
| 1512 | 140 | 606 | unless ($tagLen) | 
 
| 1514 | 140 | 0 | unless $valLen and not $raf->Seek($valLen, 1) | 
 
| 1522 | 570 | 36 | if $tagInfo | 
 
| 1524 | 36 | 0 | if ($tag =~ /\W/) | 
 
| 1525 | 36 | 0 | if ($tag =~ /^(\w+)-([a-z]{2}_[A-Z]{2})$/) { } | 
 
| 1528 | 36 | 0 | if $tagInfo | 
 
| 1529 | 36 | 0 | if $tagInfo | 
 
| 1547 | 606 | 0 | if ($tagInfo or $formatStr eq "MIE" and $format & 4) | 
 
| 1548 | 0 | 606 | unless $raf->Read($value, $valLen) == $valLen | 
 
| 1549 | 0 | 606 | if ($format & 4) | 
 
| 1550 | 0 | 0 | if ($verbose) | 
 
| 1553 | 0 | 0 | unless &HasZlib($et, "decode") | 
 
| 1556 | 0 | 0 | if $inflate | 
 
| 1557 | 0 | 0 | unless ($inflate and $stat == Compress::Zlib::Z_STREAM_END()) | 
 
| 1567 | 113 | 493 | if ($formatStr eq 'MIE') { } | 
 
| 1570 | 113 | 0 | if ($tagInfo and $tagInfo->{'SubDirectory'}) { } | 
 
| 1573 | 113 | 0 | $subTable ? : | 
 
| 1577 | 0 | 113 | if ($verbose) | 
 
| 1588 | 0 | 113 | if $valLen | 
 
| 1591 | 0 | 113 | $format & 8 ? : | 
 
| 1595 | 0 | 113 | if $msg | 
 
| 1598 | 493 | 0 | if ($tagInfo) { } | 
 
| 1602 | 0 | 493 | unless (defined $val) | 
 
| 1607 | 16 | 477 | if $tag eq "0Type" or $tag eq "2MIME" | 
 
| 1608 | 0 | 493 | if ($verbose) | 
 
| 1611 | 0 | 0 | if ($s and not $formatStr =~ /^(utf|string|undef)/) | 
 
| 1614 | 0 | 0 | $wasCompressed ? : | 
 
| 1623 | 5 | 488 | if ($tagInfo->{'SubDirectory'}) { } | 
 
| 1635 | 5 | 0 | unless ($wasCompressed) | 
 
| 1650 | 117 | 371 | if ($notUTF8 and $formatStr =~ /^(utf|string)/) | 
 
| 1653 | 8 | 480 | if ($formatStr =~ /_list$/) | 
 
| 1658 | 8 | 480 | if (defined $units) | 
 
| 1659 | 0 | 8 | if ref $val | 
 
| 1661 | 8 | 0 | if defined $units | 
 
| 1664 | 65 | 423 | if defined $rational and defined $key | 
 
| 1668 | 0 | 0 | unless $raf->Seek($valLen, 1) | 
 
| 1669 | 0 | 0 | if $verbose | 
 
| 1674 | 8 | 132 | if $mime and not $dirInfo->{'Parent'} | 
 
| 1676 | 0 | 140 | unless $ok or $msg | 
 
| 1677 | 0 | 140 | if $verbose | 
 
| 1689 | 661 | 36 | unless defined $et | 
 
| 1697 | 26 | 10 | if ($dirInfo->{'Trailer'}) | 
 
| 1699 | 0 | 26 | unless $raf->Seek(-10 - $offset, 2) | 
 
| 1702 | 0 | 52 | unless $raf->Read($buff, 10) == 10 | 
 
| 1703 | 26 | 26 | unless $buff =~ /~\0\0\x06.{4}(\x10|\x18)(\x04)$/s or $buff =~ /(\x10|\x18)(\x08)$/s | 
 
| 1705 | 26 | 0 | $1 eq "\cP" ? : | 
 
| 1706 | 26 | 0 | $2 eq "\cD" ? : | 
 
| 1707 | 0 | 26 | unless my $curPos = $raf->Tell | 
 
| 1708 | 0 | 26 | if $len < 12 or $len > $curPos | 
 
| 1710 | 0 | 26 | if ($2 eq "\b") | 
 
| 1711 | 0 | 0 | if $len < 14 | 
 
| 1712 | 0 | 0 | unless $raf->Seek($curPos - 14, 0) and $raf->Read($buff, 4) | 
 
| 1713 | 0 | 0 | unless $buff eq "~\0\0\n" | 
 
| 1717 | 26 | 0 | unless $end | 
 
| 1719 | 0 | 26 | unless $raf->Seek($pos - 10, 0) | 
 
| 1722 | 0 | 26 | unless defined $pos and $raf->Seek($pos, 0) | 
 
| 1726 | 0 | 26 | if ($outfile and $et->{'DEL_GROUP'}{'MIE'}) { } | 
 
|  | 0 | 26 | elsif ($et->Options('Verbose') or $et->{'HTML_DUMP'}) { } | 
 
| 1741 | 61 | 11 | if ($num == 8) { } | 
 
|  | 10 | 1 | elsif ($numDocs) { } | 
 
| 1743 | 35 | 26 | if ($buff =~ /^~(\x10|\x18)\x04(.)0MIE/s) { } | 
 
| 1744 | 35 | 0 | $1 eq "\cP" ? : | 
 
| 1747 | 0 | 35 | if ($len > 252 and not $raf->Seek(1 << 256 - $len, 1)) | 
 
| 1752 | 0 | 26 | unless $numDocs | 
 
| 1753 | 0 | 26 | if ($buff =~ /^~/) { } | 
 
| 1760 | 10 | 0 | unless $num | 
 
| 1763 | 0 | 1 | if $num or not $outfile | 
 
| 1770 | 26 | 36 | if ($msg) | 
 
| 1771 | 26 | 0 | if $dirInfo->{'Trailer'} | 
 
| 1772 | 0 | 0 | if ($outfile) { } | 
 
| 1780 | 36 | 0 | unless ($numDocs) | 
 
| 1798 | 9 | 27 | if ($outfile) { } | 
 
| 1800 | 3 | 6 | unless (%mieCode) | 
 
| 1806 | 3 | 6 | unless $doneMieMap | 
 
| 1814 | 0 | 9 | if ($msg) { } | 
 
|  | 0 | 18 | elsif (defined $msg and $isCreating) { } | 
 
| 1823 | 0 | 27 | if ($msg) | 
 
| 1832 | 0 | 36 | $err ? : |