| line | true | false | branch | 
 
| 142 | 0 | 0 | if (@v == 2 or @v == 3) | 
 
| 146 | 0 | 0 | $below ? : | 
 
|  | 0 | 0 | if @v == 3 | 
 
| 149 | 0 | 0 | if $val =~ m[^([-+]\d+(\.\d*)?){2,3}(CRS.*)?/?$] | 
 
| 162 | 0 | 0 | if (@a == 2 or @a == 3) | 
 
| 171 | 0 | 0 | unless &Image::ExifTool::IsFloat($_) | 
 
| 172 | 0 | 0 | length $3 < 3 ? : | 
 
| 176 | 0 | 0 | if $val =~ m[^([-+]\d+(\.\d*)?){2,3}(CRS.*)?/?$] | 
 
| 193 | 0 | 3 | if $len < 8 | 
 
| 201 | 0 | 3 | unless $ok{$noff} and $ok{$nlen} and $ok{$nbas} and $ok{$nind} | 
 
| 203 | 3 | 0 | $noff == 4 ? : | 
 
| 204 | 3 | 0 | if ($ver < 2) { } | 
 
| 208 | 0 | 0 | if $len < 10 | 
 
| 213 | 9 | 0 | if ($ver < 2) { } | 
 
| 214 | 0 | 9 | if $pos + 2 > $len | 
 
| 218 | 0 | 0 | if $pos + 4 > $len | 
 
| 223 | 0 | 9 | if ($ver == 1 or $ver == 2) | 
 
| 224 | 0 | 0 | if $pos + 2 > $len | 
 
| 230 | 0 | 9 | if $pos + 2 > $len | 
 
| 232 | 0 | 9 | if ($drefIdx) | 
 
| 233 | 0 | 0 | if ($et->{'QtDataRef'} and $et->{'QtDataRef'}[$drefIdx - 1]) { } | 
 
| 236 | 0 | 0 | unless $dref->[1] == 1 and $dref->[0] ne "rsrc" | 
 
| 245 | 6 | 3 | if ($base_offset and not $constOff) | 
 
| 246 | 6 | 0 | $nbas == 4 ? : | 
 
| 249 | 0 | 9 | if $pos + 2 > $len | 
 
| 255 | 0 | 9 | if $ver == 1 or $ver == 2 | 
 
| 257 | 0 | 9 | unless defined $extent_offset | 
 
| 258 | 9 | 0 | unless ($constOff) | 
 
| 259 | 9 | 0 | if $noff | 
 
| 260 | 9 | 0 | if not defined $minOffset or $minOffset > $extent_offset | 
 
| 262 | 0 | 9 | if $pos + $nlen > length $$dataPt | 
 
| 267 | 3 | 6 | if (defined $minOffset and $minOffset > $base_offset) { } | 
 
| 285 | 0 | 96 | unless $langCode | 
 
| 288 | 96 | 0 | unless defined $writable | 
 
| 289 | 0 | 96 | unless $writable | 
 
| 303 | 147 | 427 | unless $format | 
 
| 315 | 2 | 20 | if ($format and $format ne 'string' or not $format and $writable and $writable ne 'string') { } | 
 
|  | 0 | 20 | elsif ($$valPt =~ /^\xff\xd8\xff/) { } | 
 
|  | 0 | 20 | elsif ($$valPt =~ /^(\x89P|\x8aM|\x8bJ)NG\r\n\x1a\n/) { } | 
 
|  | 0 | 20 | elsif ($$valPt =~ /^BM.{15}\0/s) { } | 
 
| 317 | 0 | 2 | if ($writable and $qtFormat{$writable}) { } | 
 
| 342 | 6 | 0 | if ($n == 4) { } | 
 
|  | 0 | 0 | elsif ($n == 8) { } | 
 
| 357 | 174 | 9 | unless $et | 
 
| 363 | 0 | 9 | if $dirLen < 8 | 
 
| 364 | 3 | 6 | if ($et->{'DEL_GROUP'}{'Keys'}) | 
 
| 369 | 0 | 3 | $n == 1 ? : | 
 
| 380 | 0 | 15 | if $len < 8 or $pos + $len > $dirLen | 
 
| 384 | 15 | 0 | if $ns eq "mdta" | 
 
| 385 | 0 | 15 | unless $tag | 
 
| 388 | 15 | 0 | if ($tagInfo) | 
 
| 390 | 2 | 13 | if ($newTags->{$tag}) | 
 
| 393 | 1 | 1 | if ($nvHash and $et->IsOverwriting($nvHash) > 0 and not defined $et->GetNewValue($nvHash)) | 
 
| 397 | 6 | 0 | unless $newTags->{$t}{'SrcTagInfo'} and $newTags->{$t}{'SrcTagInfo'} eq $tagInfo | 
 
| 399 | 0 | 0 | unless $et->IsOverwriting($nv) and defined $et->GetNewValue($nv) | 
 
| 403 | 1 | 0 | unless ($dontDelete) | 
 
| 423 | 1 | 11 | if ($tagInfo->{'LangCode'} and $tagInfo->{'SrcTagInfo'}) { } | 
 
| 428 | 3 | 9 | if $done{$id} | 
 
| 430 | 0 | 5 | unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash) and defined $et->GetNewValue($nvHash) | 
 
| 433 | 0 | 5 | $id =~ /^com\./ ? : | 
 
| 440 | 8 | 1 | if ($num) { } | 
 
| 467 | 0 | 3 | unless $items and $raf | 
 
| 474 | 0 | 9 | unless defined $primary | 
 
| 477 | 6 | 3 | unless $item->{'RefersTo'} and $item->{'RefersTo'}{$primary} | 
 
| 481 | 0 | 3 | unless $name | 
 
| 482 | 0 | 3 | unless $et->{'EDIT_DIRS'}{$name} | 
 
| 485 | 0 | 3 | unless $boxPos->{'iloc'} | 
 
| 486 | 0 | 3 | unless $item->{'Extents'} and @{$item->{'Extents'};} | 
 
| 487 | 0 | 3 | if $item->{'ContentEncoding'} | 
 
| 488 | 0 | 3 | if $item->{'ProtectionIndex'} | 
 
| 489 | 0 | 3 | if $item->{'ConstructionMethod'} | 
 
| 490 | 0 | 3 | if $item->{'DataReferenceIndex'} | 
 
| 491 | 0 | 3 | if $warn | 
 
| 495 | 0 | 3 | if defined $buff | 
 
| 497 | 2 | 1 | if ($extent->[2]) { } | 
 
| 498 | 0 | 2 | unless $raf->Seek($pos, 0) | 
 
| 499 | 0 | 2 | unless $raf->Read($buff, $extent->[2]) | 
 
| 505 | 0 | 3 | unless defined $buff | 
 
| 506 | 0 | 3 | if length $val | 
 
| 508 | 1 | 2 | if ($name eq 'EXIF') { } | 
 
| 509 | 0 | 1 | if (not length $buff) { } | 
 
|  | 0 | 1 | elsif ($buff =~ /^(MM\0\x2a|II\x2a\0)/) { } | 
 
|  | 1 | 0 | elsif (length $buff >= 4 and length $buff >= 4 + unpack('N', $buff)) { } | 
 
| 535 | 3 | 0 | if (defined $newVal and $changed ne $et->{'CHANGED'} and $dirInfo{'DirLen'} || length $newVal) | 
 
| 539 | 1 | 2 | if length $hdr and length $newVal | 
 
| 547 | 0 | 3 | if ($nlen == 8) { } | 
 
|  | 3 | 0 | elsif ($n <= 4294967295) { } | 
 
| 557 | 0 | 3 | if (@{$item->{'Extents'};} != 1) | 
 
| 568 | 4 | 2 | if $did{$name} or not $et->{'ADD_DIRS'}{$name} | 
 
| 571 | 0 | 2 | if (@missing) | 
 
| 572 | 0 | 0 | @missing > 1 ? : | 
 
| 576 | 0 | 2 | unless (defined $et->{'PrimaryItem'}) | 
 
| 577 | 0 | 0 | unless (defined $primary) | 
 
| 582 | 0 | 0 | if ($primary < 65536) { } | 
 
| 591 | 1 | 1 | if ($name eq 'EXIF') { } | 
 
| 607 | 2 | 0 | if (defined $newVal and $changed ne $et->{'CHANGED'}) | 
 
| 609 | 2 | 0 | if ($boxPos->{'iref'}) { } | 
 
| 613 | 0 | 0 | $primary < 65536 ? : | 
 
| 616 | 1 | 1 | if length $hdr | 
 
| 618 | 2 | 0 | unless defined $add{'iinf'} | 
 
| 620 | 1 | 1 | if ($name eq 'XMP') { } | 
 
| 630 | 2 | 0 | if ($id < 65536) { } | 
 
| 637 | 0 | 2 | if ($irefVer) { } | 
 
| 650 | 2 | 0 | if ($ilocVer == 0) { } | 
 
|  | 0 | 0 | elsif ($ilocVer == 1) { } | 
 
|  | 0 | 0 | elsif ($ilocVer == 2) { } | 
 
| 671 | 0 | 2 | unless my $off = $dirInfo->{'ChunkOffset'} | 
 
| 673 | 2 | 0 | if ($noff == 4) { } | 
 
|  | 0 | 0 | elsif ($noff == 8) { } | 
 
|  | 0 | 0 | elsif ($noff == 0) { } | 
 
| 679 | 0 | 0 | if ($nbas == 4) { } | 
 
|  | 0 | 0 | elsif ($nbas == 8) { } | 
 
| 699 | 2 | 1 | if ($countNew) | 
 
| 705 | 6 | 6 | unless $add{$tag} | 
 
| 707 | 6 | 0 | $boxPos->{$tag}[1] ? : | 
 
| 708 | 0 | 0 | unless $tag eq "iref" | 
 
| 716 | 2 | 4 | if ($tag eq 'iinf') { } | 
 
|  | 2 | 2 | elsif ($tag eq 'iref') { } | 
 
|  | 2 | 0 | elsif ($tag eq 'iloc') { } | 
 
|  | 0 | 0 | elsif ($tag ne 'hdlr') { } | 
 
| 718 | 0 | 2 | if ($iinfVer == 0) { } | 
 
| 729 | 2 | 0 | if ($ilocVer < 2) { } | 
 
| 737 | 0 | 2 | if ($added) | 
 
| 749 | 3 | 0 | @mdatEdit ? : | 
 
| 763 | 501 | 305 | unless $et | 
 
| 776 | 287 | 18 | $dataPt ? : | 
 
| 778 | 287 | 18 | if ($dataPt) { } | 
 
| 781 | 0 | 18 | unless $raf | 
 
| 787 | 56 | 249 | if $dirStart | 
 
| 793 | 8 | 297 | if ($addDirs->{'Keys'} and $curPath =~ /^MOV-Movie(-Meta)?$/) { } | 
 
|  | 9 | 288 | elsif ($curPath eq 'MOV-Movie-Meta-ItemList') { } | 
 
| 798 | 9 | 0 | if ($keys) | 
 
| 803 | 14 | 1 | if $keys->{'Remap'}{$index} | 
 
| 810 | 10 | 2 | unless $index | 
 
| 812 | 1 | 1 | if ($tagInfo->{'LangCode'}) | 
 
| 814 | 1 | 0 | unless $langTags{$id} | 
 
| 826 | 30 | 2 | unless $newTags->{$_}{'LangCode'} and $newTags->{$_}{'SrcTagInfo'} | 
 
| 828 | 2 | 0 | unless $langTags{$id} | 
 
| 832 | 114 | 191 | if ($curPath eq $writePath or $createKeys) | 
 
| 836 | 3 | 302 | if $tagTablePtr->{'VARS'} | 
 
| 839 | 0 | 0 | if (defined $atomCount and --$atomCount < 0 and $dataPt) | 
 
| 841 | 0 | 0 | unless &Write($outfile, substr($$dataPt, $raf->Tell)) | 
 
| 846 | 305 | 1042 | unless ($n == 8) | 
 
| 847 | 0 | 305 | if ($n == 4 and $hdr eq "\000\000\000\000") { } | 
 
|  | 0 | 305 | elsif ($n != 0) { } | 
 
| 858 | 3 | 1039 | if ($size == -7) { } | 
 
|  | 0 | 1039 | elsif ($size == -8) { } | 
 
|  | 0 | 1039 | elsif ($size < 0) { } | 
 
| 860 | 0 | 3 | unless $raf->Read($buff, 8) == 8 | 
 
| 863 | 0 | 3 | if ($hi or $lo > 2147483647) | 
 
| 864 | 0 | 0 | if ($hi > 2147483647) { } | 
 
|  | 0 | 0 | elsif (not $et->Options('LargeFileSupport')) { } | 
 
| 873 | 0 | 3 | if $size < 0 | 
 
| 875 | 0 | 0 | if ($dataPt) { } | 
 
| 876 | 0 | 0 | if $dirInfo->{'DirName'} eq "CanonCNTH" | 
 
| 894 | 21 | 1021 | if ($tag eq 'mdat') { } | 
 
|  | 0 | 1021 | elsif ($tag eq 'cmov') { } | 
 
|  | 0 | 1021 | elsif ($tag eq 'wide') { } | 
 
| 895 | 0 | 21 | if ($dataPt) | 
 
| 900 | 0 | 21 | unless $raf->Seek($size, 1) | 
 
| 911 | 2 | 1019 | if (not $size) { } | 
 
| 916 | 0 | 1019 | $size > $maxReadLen ? : | 
 
| 918 | 0 | 1021 | if ($got != $size) | 
 
| 920 | 0 | 0 | if ($got <= 256 and $size >= 1024 and $tag ne 'mdat') { } | 
 
| 922 | 0 | 0 | if ($et->{'OPTIONS'}{'IgnoreMinorErrors'}) { } | 
 
| 931 | 0 | 0 | if ($size > $maxReadLen and $got == 65536) { } | 
 
| 941 | 75 | 946 | if ($tag eq "hdlr" and length $buff >= 12) | 
 
| 943 | 30 | 45 | if $hdlr =~ /^(vide|soun)$/ | 
 
| 948 | 49 | 972 | if ($tag =~ /^(stco|co64|iloc|mfra|moof|sidx|saio|gps |CTBO|uuid)$/) | 
 
| 951 | 0 | 49 | if ($tag eq 'mfra' or $tag eq 'moof') { } | 
 
|  | 0 | 49 | elsif ($tag eq 'sidx' or $tag eq 'saio') { } | 
 
|  | 3 | 46 | elsif ($tag eq 'iloc') { } | 
 
|  | 0 | 46 | elsif ($tag eq 'gps ') { } | 
 
|  | 13 | 33 | elsif ($tag eq 'CTBO' or $tag eq 'uuid') { } | 
 
|  | 0 | 33 | elsif (not $flg) { } | 
 
|  | 0 | 33 | elsif ($flg == 3) { } | 
 
|  | 33 | 0 | elsif ($flg == 1) { } | 
 
| 958 | 0 | 3 | unless &Handle_iloc($et, $dirInfo, \$buff, $outfile) | 
 
| 961 | 0 | 0 | if ($dirInfo->{'DirID'} and $dirInfo->{'DirID'} eq "moov" and length $buff > 8) | 
 
| 964 | 0 | 0 | if $num * 8 + 8 > length $buff | 
 
| 989 | 21 | 808 | if $tagInfo and $tagInfo->{'WriteHook'} | 
 
| 992 | 21 | 0 | if (not $tagInfo and $dirName eq "ItemList" and $et->{'Keys'}) | 
 
| 995 | 21 | 0 | if (defined $newIndex) { } | 
 
| 997 | 7 | 14 | unless ($newIndex) | 
 
| 998 | 1 | 6 | if ($tagInfo) { } | 
 
| 1007 | 2 | 12 | unless ($keysIndex == $newIndex) | 
 
| 1016 | 77 | 937 | if ($delGrp) | 
 
| 1017 | 44 | 33 | if ($dirName eq 'ItemList') { } | 
 
|  | 14 | 31 | elsif ($dirName eq 'UserData' and not $tagInfo && $tagInfo->{'SubDirectory'}) { } | 
 
| 1027 | 0 | 785 | if $tagInfo and $tagInfo->{'Unknown'} | 
 
| 1029 | 785 | 0 | if ($tagInfo and !defined($tagInfo->{'Writable'}) || $tagInfo->{'Writable'}) | 
 
| 1033 | 565 | 220 | if ($subdir) { } | 
 
| 1035 | 33 | 532 | if $tag eq "trak" | 
 
| 1042 | 0 | 565 | if ($subdir->{'Base'}) | 
 
| 1047 | 0 | 0 | if $localBase <= $hdrLen | 
 
| 1072 | 0 | 565 | if $et->Options("QuickTimePad") | 
 
| 1075 | 62 | 503 | if ($hdrLen and $hdrLen < $size) | 
 
| 1079 | 7 | 558 | if $subdir->{'ByteOrder'} and $subdir->{'ByteOrder'} =~ /^Little/ | 
 
| 1081 | 33 | 532 | if ($subName eq "Track") | 
 
| 1082 | 15 | 18 | unless $track | 
 
| 1087 | 37 | 528 | unless $subTable->{'GROUPS'}{'0'} eq "QuickTime" | 
 
| 1090 | 33 | 532 | if ($et->{'DemoteErrors'}) | 
 
| 1092 | 0 | 33 | if $et->{'DemoteErrors'} > 1 | 
 
| 1095 | 0 | 9 | if (defined $newData and not length $newData and $tagInfo->{'Permanent'} || $tagTablePtr->{'PERMANENT'} && !defined($tagInfo->{'Permanent'})) | 
 
| 1105 | 56 | 1 | if ($start and defined $newData and length $newData || defined $tagInfo->{'Permanent'} && !$tagInfo->{'Permanent'}) | 
 
| 1112 | 34 | 192 | if ($curPath eq $writePath and $addDirs->{$subName} and $addDirs->{$subName} eq $dirName) | 
 
| 1120 | 2 | 211 | if ($nvHash or $langTags{$tag} or $delGrp) | 
 
| 1126 | 5 | 4 | if ($hasData) { } | 
 
|  | 0 | 4 | elsif ($format) { } | 
 
|  | 4 | 0 | elsif ($tag =~ /^\xa9/ || $tagInfo->{'IText'} and $size >= ($tagInfo->{'IText'} || 4)) { } | 
 
| 1129 | 5 | 5 | if ($pos + 16 > $size) | 
 
| 1131 | 1 | 4 | if ($langTags{$tag}) | 
 
| 1134 | 1 | 1 | $tg ? : | 
 
| 1136 | 1 | 1 | unless $nvHash and not $didTag->{$nvHash} | 
 
| 1138 | 0 | 1 | unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash) | 
 
| 1140 | 0 | 1 | unless defined $newVal | 
 
| 1143 | 0 | 1 | unless defined $newVal | 
 
| 1145 | 1 | 0 | if ($ti->{'LangCode'}) | 
 
| 1146 | 0 | 1 | unless ($ti->{'LangCode'} =~ /^([A-Z]{3})?[-_]?([A-Z]{2})?$/i) | 
 
| 1151 | 1 | 0 | if ($1 and $1 ne "und") | 
 
| 1154 | 1 | 0 | if $2 and $2 ne "ZZ" | 
 
| 1156 | 1 | 0 | unless defined $newData | 
 
| 1166 | 5 | 0 | unless $lang | 
 
| 1174 | 0 | 0 | if $nvHash or not $ctry or $lang ne $undLang or length $langCode == 2 | 
 
| 1180 | 4 | 1 | if (not $nvHash and $nvHashNoLang) | 
 
| 1181 | 4 | 0 | if ($lang eq $undLang and not $ctry and not $didTag->{$nvHashNoLang}) { } | 
 
| 1187 | 0 | 5 | if $pos + $len > $size | 
 
| 1188 | 5 | 0 | if ($type eq 'data' and $len >= 16) { } | 
 
|  | 0 | 0 | elsif (defined $newData) { } | 
 
| 1193 | 5 | 0 | if ($Image::ExifTool::QuickTime::stringEncoding{$flags}) { } | 
 
| 1195 | 5 | 0 | unless $tagInfo->{'Binary'} | 
 
| 1198 | 0 | 0 | if ($format) { } | 
 
| 1200 | 0 | 0 | if ($tagInfo->{'Writable'} and $qtFormat{$tagInfo->{'Writable'}}) { } | 
 
|  | 0 | 0 | elsif ($qtFormat{$format}) { } | 
 
| 1208 | 0 | 0 | if $format | 
 
| 1210 | 3 | 2 | if ($nvHash and $et->IsOverwriting($nvHash, $val) or $delTag) { } | 
 
|  | 0 | 2 | elsif (defined $newData) { } | 
 
| 1211 | 3 | 0 | if defined $nvHash | 
 
| 1212 | 0 | 3 | if ($delTag or not defined $newVal or $didTag->{$nvHash}) | 
 
| 1217 | 0 | 0 | unless defined $newData | 
 
| 1227 | 3 | 0 | unless defined $newData | 
 
| 1228 | 3 | 0 | $lang eq $undLang ? : | 
 
| 1238 | 4 | 1 | if $nvHash | 
 
| 1240 | 0 | 5 | if defined $newData and $pos < $size | 
 
| 1246 | 0 | 4 | if ($tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6) { } | 
 
| 1255 | 0 | 4 | if 4 + $len > $size | 
 
| 1256 | 0 | 4 | if $len > $size - 4 or $len < 0 | 
 
| 1259 | 4 | 0 | unless $lang | 
 
| 1261 | 0 | 4 | if ($lang < 1024 and not $val =~ /^\xfe\xff/) { } | 
 
| 1265 | 0 | 4 | $val =~ s/^\xfe\xff// ? : | 
 
| 1267 | 4 | 0 | unless ($tagInfo->{'NoDecode'}) | 
 
| 1271 | 0 | 4 | if defined $hdr | 
 
| 1275 | 3 | 1 | if (not $nvHash and $nvHashNoLang) | 
 
| 1276 | 3 | 0 | if ($lang eq $undLang and not $didTag->{$nvHashNoLang}) { } | 
 
|  | 0 | 0 | elsif ($canCreate) { } | 
 
| 1288 | 0 | 0 | if ($tag =~ /^\xa9/ or $tagInfo->{'IText'}) | 
 
| 1292 | 3 | 6 | if ($nvHash and defined $val) | 
 
| 1293 | 3 | 0 | if ($et->IsOverwriting($nvHash, $val)) | 
 
| 1295 | 0 | 3 | unless defined $newData or $canCreate | 
 
| 1299 | 0 | 3 | unless defined $newData and not $didTag->{$nvHash} | 
 
| 1302 | 3 | 0 | if (defined $lang) { } | 
 
|  | 0 | 0 | elsif (not $format or $format =~ /^string/ and not $tagInfo->{'Binary'} and not $tagInfo->{'ValueConv'}) { } | 
 
|  | 0 | 0 | elsif ($format and not $tagInfo->{'Binary'}) { } | 
 
| 1305 | 0 | 3 | if ($iText > 6) | 
 
| 1306 | 0 | 0 | if length $newData < $iText - 6 | 
 
| 1310 | 3 | 0 | unless ($tagInfo->{'NoDecode'}) | 
 
| 1311 | 0 | 3 | $lang < 1024 ? : | 
 
| 1313 | 3 | 0 | $lang eq $undLang ? : | 
 
| 1314 | 3 | 0 | if ($iText < 6) { } | 
 
|  | 0 | 0 | elsif ($iText == 6) { } | 
 
| 1336 | 394 | 391 | if (defined $newData) | 
 
| 1339 | 0 | 394 | if ($sizeDiff > 0 and $tagInfo->{'PreservePadding'} and $et->Options('QuickTimePad')) { } | 
 
|  | 67 | 327 | elsif ($sizeDiff) { } | 
 
| 1346 | 0 | 394 | if $len > 2147483647 | 
 
| 1348 | 5 | 389 | if $tag eq "uuid" | 
 
| 1349 | 9 | 385 | unless $len > 8 | 
 
| 1351 | 153 | 232 | if (@chunkOffset) | 
 
| 1355 | 1 | 384 | if ($tagInfo->{'WriteLast'}) { } | 
 
| 1360 | 0 | 384 | unless &Write($outfile, &Set32u($len), $tag, $newData) | 
 
| 1366 | 0 | 562 | if ($tag eq 'dinf') { } | 
 
|  | 33 | 529 | elsif ($parent eq 'DataInfo' and length $buff >= 4) { } | 
 
|  | 33 | 992 | elsif ($tag eq 'stsd' and length $buff >= 8) { } | 
 
| 1376 | 0 | 33 | unless $pos + 16 <= length $buff | 
 
| 1378 | 0 | 33 | unless $pos + $siz <= length $buff | 
 
| 1381 | 0 | 33 | if (not $drefIdx) { } | 
 
|  | 33 | 0 | elsif ($drefTbl and $$drefTbl[$drefIdx - 1]) { } | 
 
| 1386 | 33 | 0 | $dref->[1] == 1 && $dref->[0] ne 'rsrc' ? : | 
 
| 1393 | 0 | 33 | if ($msg) | 
 
| 1395 | 0 | 0 | if ($et->{'HandlerType'}) | 
 
| 1404 | 0 | 562 | if ($tagInfo and $tagInfo->{'WriteLast'}) { } | 
 
| 1410 | 0 | 562 | unless &Write($outfile, $hdr, $buff) | 
 
| 1413 | 0 | 7 | $delCount == 1 ? : | 
 
|  | 7 | 298 | if $delCount | 
 
| 1415 | 247 | 58 | unless $addDirs->{'Keys'} | 
 
| 1418 | 79 | 35 | if ($canCreate and exists $et->{'EDIT_DIRS'}{$dirName} || $createKeys) | 
 
| 1425 | 15 | 64 | if ($createKeys) | 
 
| 1426 | 2 | 13 | if ($curPath eq 'MOV-Movie') { } | 
 
|  | 4 | 9 | elsif ($curPath eq 'MOV-Movie-Meta') { } | 
 
|  | 9 | 0 | elsif ($curPath eq 'MOV-Movie-Meta-ItemList' and $et->{'Keys'}) { } | 
 
| 1428 | 2 | 0 | unless ($didDir{'meta'}) | 
 
| 1437 | 8 | 0 | if $didDir{$_} | 
 
| 1455 | 0 | 53 | if defined $tagInfo->{'CanCreate'} and not $tagInfo->{'CanCreate'} | 
 
| 1457 | 0 | 0 | if defined $tagInfo->{'HandlerType'} and !$et->{'HandlerType'} || $et->{'HandlerType'} ne $tagInfo->{'HandlerType'} | 
 
| 1459 | 39 | 14 | unless ($subdir) | 
 
| 1461 | 8 | 31 | unless $nvHash and not $didTag->{$nvHash} | 
 
| 1462 | 13 | 18 | unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash) | 
 
| 1464 | 0 | 18 | unless defined $newVal | 
 
| 1467 | 0 | 18 | unless defined $newVal | 
 
| 1470 | 0 | 18 | if ($tagInfo->{'LangCode'}) | 
 
| 1472 | 0 | 0 | unless ($tagInfo->{'LangCode'} =~ /^([A-Z]{3})?[-_]?([A-Z]{2})?$/i) | 
 
| 1477 | 0 | 0 | if ($1 and $1 ne "und") | 
 
| 1480 | 0 | 0 | if $2 and $2 ne "ZZ" | 
 
| 1482 | 11 | 7 | if ($dirInfo->{'HasData'}) { } | 
 
|  | 7 | 0 | elsif ($tag =~ /^\xa9/ or $tagInfo->{'IText'}) { } | 
 
|  | 0 | 0 | elsif ($ctry or $lang) { } | 
 
| 1486 | 0 | 7 | if ($ctry) { } | 
 
|  | 2 | 5 | elsif ($tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6) { } | 
 
| 1494 | 0 | 2 | if length $newVal < $n | 
 
| 1505 | 0 | 18 | if ($tagInfo->{'WriteLast'}) { } | 
 
| 1509 | 0 | 18 | unless &Write($outfile, &Set32u(8 + length($newVal)), $tag, $newVal) | 
 
| 1520 | 2 | 12 | if ($createKeys and $curPath eq 'MOV-Movie' and $subName eq 'Meta') { } | 
 
|  | 0 | 12 | elsif ($createKeys and $curPath eq 'MOV-Movie-Meta') { } | 
 
|  | 2 | 10 | elsif ($subName eq 'Meta' and $et->{'OPTIONS'}{'QuickTimeHandler'}) { } | 
 
| 1527 | 0 | 0 | $subName eq 'Keys' ? : | 
 
| 1533 | 0 | 10 | unless $curPath eq $writePath and $addDirs->{$subName} and $addDirs->{$subName} eq $dirName | 
 
| 1548 | 14 | 0 | if ($newData and length $newData <= 2147483639) | 
 
| 1551 | 5 | 9 | if ($subdir->{'Start'}) | 
 
| 1552 | 2 | 3 | if ($subdir->{'Start'} == 4) { } | 
 
| 1557 | 3 | 0 | if $cond and $cond =~ m[=~\s*\/\^(.*)/] | 
 
| 1558 | 0 | 3 | unless length $prefix == $subdir->{'Start'} | 
 
| 1562 | 1 | 13 | if ($tagInfo->{'WriteLast'}) { } | 
 
| 1565 | 2 | 11 | if ($tag eq "uuid") | 
 
| 1571 | 0 | 13 | unless &Write($outfile, $newHdr, $newData) | 
 
| 1576 | 14 | 0 | unless $subName eq "Keys" | 
 
| 1580 | 3 | 0 | if ($curPath eq "MOV-Meta" and $et->{'EDIT_DIRS'}{'ItemInformation'}) | 
 
| 1583 | 3 | 0 | if ($mdatEdit) | 
 
| 1584 | 0 | 3 | if $et->{'mdatEdit'} | 
 
| 1589 | 0 | 305 | if $term and length $$outfile | 
 
| 1592 | 24 | 281 | if ($dirName eq "Meta") | 
 
| 1596 | 2 | 22 | if ($isEmpty) | 
 
| 1597 | 2 | 0 | if %boxPos | 
 
| 1601 | 9 | 15 | if ($curPath eq "MOV-Movie-Meta") | 
 
| 1608 | 287 | 18 | if ($dataPt) | 
 
| 1609 | 0 | 287 | if $writeLast | 
 
| 1610 | 0 | 287 | $err ? : | 
 
| 1615 | 0 | 18 | unless (@mdat) | 
 
| 1617 | 0 | 0 | if $co->[0] eq "uuid" | 
 
| 1627 | 3 | 15 | if ($et->{'mdatEdit'}) | 
 
| 1635 | 10 | 2 | if (length $mdat->[2]) | 
 
| 1645 | 7 | 5 | if defined $mdat->[5] or $changed | 
 
| 1646 | 5 | 0 | if (not $edit->[0] or ($edit->[0] < $mdat->[1] || !$mdat->[1] and $edit->[1] > $mdat->[0] or $edit->[0] == $edit->[1] and $edit->[0] == $mdat->[0] || $edit->[0] == $mdat->[1])) | 
 
| 1652 | 2 | 3 | if (not $edit->[0]) { } | 
 
|  | 0 | 3 | elsif ($edit->[0] < $mdat->[0] or $edit->[1] > $mdat->[1] and $mdat->[1]) { } | 
 
| 1659 | 0 | 5 | unless $hdrChunk | 
 
| 1661 | 5 | 0 | $edit->[2] ? : | 
 
| 1663 | 5 | 0 | if ($diff) | 
 
| 1664 | 5 | 0 | if (length $hdrChunk->[2] == 8) { } | 
 
|  | 0 | 0 | elsif (length $hdrChunk->[2] == 16) { } | 
 
| 1666 | 0 | 5 | if $size > 4294967295 | 
 
| 1678 | 0 | 5 | if ($edit->[0] > $mdat->[0]) { } | 
 
| 1679 | 0 | 0 | if $edit->[2] | 
 
| 1684 | 5 | 0 | if ($edit->[2]) | 
 
| 1689 | 5 | 0 | if ($edit->[3]) | 
 
| 1692 | 14 | 5 | unless defined $co->[4] and $co->[4] == $edit->[3] | 
 
| 1694 | 5 | 0 | if ($co->[0] eq 'stco_iloc') { } | 
 
| 1700 | 0 | 5 | unless $n == 1 | 
 
| 1707 | 5 | 0 | if ($changed) { } | 
 
| 1721 | 5 | 21 | $mdat->[4] ? : | 
 
| 1727 | 59 | 0 | unless $base | 
 
| 1728 | 15 | 44 | unless ($type =~ /^(stco|co64)_?(.*)$/) | 
 
| 1729 | 12 | 3 | if $type eq "uuid" | 
 
| 1730 | 0 | 3 | unless $type eq "CTBO" | 
 
| 1732 | 0 | 3 | unless $co->[2] > 12 | 
 
| 1733 | 0 | 3 | unless @mdat | 
 
| 1735 | 0 | 3 | if $co->[2] < $n * 20 + 12 | 
 
| 1739 | 15 | 10 | unless $_->[0] eq "uuid" and $_->[2] >= 24 | 
 
| 1741 | 1 | 9 | if $pos + 24 > length $$outfile | 
 
| 1743 | 0 | 9 | if ($siz == 1) | 
 
| 1744 | 0 | 0 | unless $_->[2] >= 32 | 
 
| 1749 | 6 | 3 | if defined $id | 
 
| 1758 | 3 | 0 | unless &Get64u($outfile, $pos + 12) or $id == 1 or $id == 2 | 
 
| 1759 | 0 | 9 | unless (defined $ctboOff{$id}) | 
 
| 1760 | 0 | 0 | unless $id == 1 or $id == 2 | 
 
| 1766 | 6 | 3 | unless $ctboOff{$id}[2] < 0 | 
 
| 1770 | 12 | 32 | $1 eq 'co64' ? : | 
 
| 1772 | 11 | 33 | if ($2) { } | 
 
| 1777 | 0 | 33 | if $len < 8 | 
 
| 1784 | 0 | 44 | if $end > $ptr + $len | 
 
| 1787 | 12 | 11 | $type eq 'co64' ? : | 
 
| 1791 | 17 | 21 | if (defined $mdat->[5]) { } | 
 
| 1793 | 12 | 5 | unless (defined $id and $id == $mdat->[5]) | 
 
| 1795 | 12 | 0 | unless $pos == $mdat->[0] and $mdat->[0] != $mdat->[1] | 
 
| 1799 | 3 | 18 | unless $pos >= $mdat->[0] and $pos <= $mdat->[1] || !$mdat->[1] | 
 
| 1801 | 0 | 0 | if $pos == $mdat->[1] and $i + 1 < @mdat and $pos == $mdat[$i + 1][0] | 
 
| 1804 | 0 | 23 | if ($val < 0) | 
 
| 1808 | 12 | 11 | if ($type eq 'co64') { } | 
 
|  | 11 | 0 | elsif ($val <= 4294967295) { } | 
 
| 1819 | 0 | 23 | unless ($ok) | 
 
| 1830 | 0 | 18 | unless &Write($outfile, $outBuff) | 
 
| 1834 | 0 | 26 | unless &Write($outfile, $mdat->[2]) | 
 
| 1835 | 5 | 21 | if ($mdat->[4]) { } | 
 
| 1836 | 0 | 5 | unless &Write($outfile, ${$$mdat[4];}) | 
 
| 1838 | 0 | 21 | unless $raf->Seek($mdat->[0], 0) | 
 
| 1839 | 21 | 0 | if ($mdat->[1]) { } | 
 
| 1841 | 0 | 21 | unless defined $result | 
 
| 1842 | 0 | 21 | unless $result | 
 
| 1847 | 0 | 0 | unless &Write($outfile, $buff) | 
 
| 1854 | 2 | 16 | if $writeLast | 
 
| 1867 | 0 | 18 | unless $et | 
 
| 1868 | 0 | 18 | unless my $raf = $dirInfo->{'RAF'} | 
 
| 1872 | 0 | 18 | unless $raf->Read($buff, 8) == 8 | 
 
| 1874 | 0 | 18 | if $size < 8 and $size != 1 | 
 
| 1878 | 0 | 18 | unless $tagTablePtr->{$tag} | 
 
| 1882 | 9 | 9 | if ($tag eq 'ftyp' and $size >= 12 and $size < 100000 and $raf->Read($buff, $size - 8) == $size - 8 and not $buff =~ /^(....)+(qt  )/s) { } | 
 
| 1886 | 3 | 6 | if ($buff =~ /^crx /) { } | 
 
|  | 3 | 3 | elsif ($buff =~ /^(heic|mif1|msf1|heix|hevc|hevx|avif)/) { } | 
 
| 1908 | 18 | 0 | &WriteQuickTime($et, $dirInfo, $tagTablePtr) ? : |