| line |
true |
false |
branch |
|
64
|
1 |
6 |
@a ? : |
|
75
|
0 |
1 |
unless @rows |
|
77
|
0 |
1 |
unless @cols |
|
84
|
0 |
2 |
unless @cols == $ny |
|
88
|
0 |
4 |
unless defined $c |
|
103
|
124 |
6089 |
if (not $format or $format eq 1) |
|
104
|
124 |
0 |
if ($tagInfo->{'Groups'}{'0'} eq 'MakerNotes') { } |
|
122
|
0 |
13 |
if ($val =~ /[\x80-\xff]/) { } |
|
151
|
0 |
0 |
if ($proc ne \&Image::ExifTool::Exif::ProcessExif and $tagInfo->{'Name'} =~ /Text/ or $proc eq \&Image::ExifTool::ProcessBinaryData or $tagInfo->{'PossiblePreview'} and $dirLen > 6 and substr($$dataPt, $dirStart, 3) eq "\377\330\377") |
|
160
|
20 |
0 |
if (defined $loc) |
|
187
|
20 |
0 |
if (defined $rtnValue and length $rtnValue) |
|
189
|
2 |
18 |
if ($newTool->{'PREVIEW_INFO'}) |
|
195
|
8 |
12 |
if ($loc) |
|
201
|
0 |
8 |
if ($dirInfo->{'Parent'} eq "IFD0" and $hdr =~ /^(PENTAX |SAMSUNG)\0/) |
|
204
|
0 |
0 |
if ($et->{'Model'} =~ /\b(K(-[57mrx]|(10|20|100|110|200)D|2000)|GX(10|20))\b/) |
|
223
|
17 |
3 |
unless ($subdirInfo{'Relative'}) |
|
249
|
0 |
0 |
unless $tagID or $index == 0 or $allowZero |
|
251
|
0 |
0 |
if ($entries{$tagID}) { } |
|
275
|
0 |
0 |
unless my $raf = $dirInfo->{'RAF'} |
|
277
|
0 |
0 |
unless defined $dirStart |
|
280
|
0 |
0 |
unless $raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2 |
|
282
|
0 |
0 |
unless $numEntries > 1 and $numEntries < 64 |
|
284
|
0 |
0 |
unless $raf->Read($buff, $len) == $len |
|
289
|
0 |
0 |
unless $tagID > $lastID or $dirInfo->{'AllowOutOfOrderTags'} |
|
291
|
0 |
0 |
unless $format > 0 and $format <= 13 |
|
293
|
0 |
0 |
unless $count > 0 |
|
313
|
0 |
0 |
if $format < 1 or $format > 13 |
|
316
|
0 |
0 |
if ($size <= 4) |
|
318
|
0 |
0 |
unless ref $tagTablePtr->{$tagID} eq "HASH" and $tagTablePtr->{$tagID}{'FixCount'} |
|
321
|
0 |
0 |
if $offset >= $ifdEnd |
|
338
|
278 |
54 |
if (defined $et->{'TIFF_END'} and $et->{'TIFF_END'} < $end) |
|
358
|
5 |
1 |
if (!defined($vInfo->{'259'}) || $vInfo->{'259'} eq '1' and $vInfo->{'256'} and $vInfo->{'257'} and $vInfo->{'279'} || $vInfo->{'325'}) |
|
362
|
5 |
0 |
$vInfo->{'258'} ? : |
|
368
|
0 |
5 |
if $et->{'DOC_NUM'} or $et->{'FILE_TYPE'} ne "TIFF" |
|
369
|
0 |
5 |
unless (@bitsPerSample == $samplesPerPix) |
|
370
|
0 |
0 |
unless ($et->{'FILE_TYPE'} eq "EPS" and @bitsPerSample == 1) |
|
372
|
0 |
0 |
$samplesPerPix eq '1' ? : |
|
377
|
0 |
0 |
if $_ ne $bitsPerSample[0] |
|
378
|
0 |
0 |
if $_ < 1 or $_ > 32 |
|
384
|
1 |
4 |
if ($expectedBytes != $totalBytes and not $et->{'TIFF_TYPE'} =~ /^(K25|KDC|MEF|ORF|SRF)$/) |
|
389
|
1 |
0 |
if ($expectedBytes > $totalBytes) { } |
|
391
|
0 |
1 |
unless $errFlag |
|
397
|
1 |
0 |
if (not defined $minor) { } |
|
418
|
0 |
0 |
if ($tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'MINOR_ERRORS'}) |
|
419
|
0 |
0 |
if $minor |
|
422
|
0 |
0 |
if $et->Error($errStr, $minor) |
|
434
|
0 |
0 |
unless $et |
|
442
|
0 |
0 |
unless $raf->Seek($base, 0) and $raf->Read($buff, 8) == 8 |
|
443
|
0 |
0 |
unless (&SetByteOrder(substr($buff, 0, 2)) and &Get16u(\$buff, 2) == $magic) |
|
445
|
0 |
0 |
if ($dirInfo->{'IsWriting'}) { } |
|
466
|
0 |
0 |
if ($dirInfo->{'IsWriting'}) |
|
471
|
0 |
0 |
unless $newDir |
|
475
|
0 |
0 |
if ($et->{'HTML_DUMP'}) |
|
476
|
0 |
0 |
&GetByteOrder() eq 'II' ? : |
|
498
|
8078 |
328 |
unless $et |
|
501
|
34 |
294 |
unless ($dataPt) |
|
523
|
154 |
8 |
unless $name and $dirName eq "MakerNotes" and not $name =~ /^MakerNote/ |
|
526
|
199 |
129 |
if $dirName eq "IFD0" or $dirName eq "ExifIFD" |
|
529
|
256 |
72 |
if $tagTablePtr->{'GROUPS'}{'0'} eq "EXIF" |
|
532
|
116 |
212 |
if $dirName =~ /^(IFD0|SubIFD)$/ and not defined $dirInfo->{'Multi'} |
|
533
|
71 |
257 |
if $tagTablePtr->{'GROUPS'}{'0'} eq "MakerNotes" |
|
549
|
118 |
258 |
if ($dirStart < 0 or $dirStart > $dataLen - 2) { } |
|
|
258 |
0 |
elsif ($dirLen >= 2) { } |
|
553
|
0 |
258 |
if $dirStart + $len > $dataLen |
|
556
|
118 |
258 |
if ($mustRead) |
|
557
|
38 |
80 |
if ($raf) { } |
|
|
0 |
160 |
elsif ($dirLen and $dirStart + 4 >= $dataLen) { } |
|
561
|
0 |
38 |
unless ($raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2) |
|
566
|
0 |
38 |
unless ($raf->Read($buf2, $len + 4) >= $len) |
|
580
|
38 |
0 |
if $dataLen == $len + 6 and $dirInfo->{'Multi'} || $buff =~ /\0{4}$/ |
|
585
|
0 |
0 |
$et->Options('IgnoreMinorErrors') ? : |
|
590
|
289 |
87 |
if ($dirStart + 4 < $dataLen) { } |
|
593
|
0 |
289 |
if ($dirEnd > $dataLen) |
|
596
|
0 |
0 |
unless $n and defined $rtn |
|
605
|
118 |
6 |
if $tagID < $lastID and $tagID || $tagTablePtr->{'0'} |
|
609
|
0 |
289 |
if ($unsorted and not $inMakerNotes || $et->IsRawType) |
|
627
|
168 |
1875 |
ref $tagTablePtr->{$tagID} eq 'ARRAY' || $tagInfo->{'Condition'} ? : |
|
631
|
2 |
51 |
if ($dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/ and not $et->{'TIFF_TYPE'} =~ /^(ARW|SR2)$/ and not $et->{'LeicaTrailerPos'} and &Image::ExifTool::MakerNotes::FixBase($et, $dirInfo)) |
|
639
|
0 |
2 |
if $et->{'FORCE_WRITE'}{'FixBase'} |
|
640
|
0 |
0 |
if ($et->{'TIFF_TYPE'} eq "SRW" and $et->{'Make'} eq "SAMSUNG" and $et->{'Model'} eq "EK-GN120") |
|
648
|
293 |
83 |
if ($mandatory) { } |
|
650
|
6 |
287 |
if ($dirName eq "IFD0" and defined $et->{'JFIFYResolution'}) |
|
659
|
87 |
206 |
unless ($numEntries) |
|
661
|
237 |
84 |
unless defined $set{$_} |
|
668
|
71 |
305 |
if ($inMakerNotes) { } |
|
675
|
5 |
36 |
unless $set{$_} |
|
677
|
0 |
36 |
if defined $perm and not $perm |
|
679
|
0 |
71 |
if @newTags > 1 |
|
703
|
0 |
376 |
if ($inMakerNotes and $et->{'Model'} eq "Canon EOS 40D") |
|
705
|
0 |
0 |
if ($fmt < 1 or $fmt > 13) |
|
718
|
5063 |
2003 |
if (defined $oldID and $oldID == $newID) |
|
722
|
4687 |
376 |
if ($index < $numEntries) { } |
|
728
|
0 |
4687 |
if ($oldFormat < 1 or $oldFormat > 13 and not $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes) |
|
733
|
0 |
0 |
if ($dirName eq "MakerNotes" and $et->{'Make'} =~ /KODAK/i && $dirInfo->{'Name'} && $dirInfo->{'Name'} eq 'SubIFD3' || $numEntries == 12 && $et->{'Make'} eq 'SONY' && $index >= 8) |
|
744
|
0 |
0 |
if ($oldFormat == 0 and $index and $oldCount == 0) |
|
747
|
0 |
0 |
if $dirInfo->{'FixBase'} |
|
761
|
580 |
4107 |
if (ref $oldInfo ne "HASH" or $oldInfo->{'Condition'}) |
|
769
|
0 |
2801 |
if ($oldCount < 2 and $oldInfo and $oldInfo->{'FixCount'}) |
|
770
|
0 |
0 |
unless $offList |
|
773
|
0 |
0 |
if (defined $i and $i < $#$offList) |
|
775
|
0 |
0 |
if $oldCount != $readCount |
|
780
|
2129 |
2558 |
if ($oldSize > 4) |
|
783
|
0 |
2129 |
if ($dirInfo->{'FixOffsets'}) |
|
784
|
0 |
0 |
unless $valEnd |
|
788
|
0 |
0 |
unless (defined $valuePtr) |
|
789
|
0 |
0 |
unless ($et->{'DropTags'}) |
|
790
|
0 |
0 |
$oldInfo ? : |
|
791
|
0 |
0 |
if $et->Error("Bad $name offset for $tagStr", $inMakerNotes) |
|
799
|
5 |
2124 |
if ($dirInfo->{'EntryBased'} or ref $tagTablePtr->{$oldID} eq 'HASH' and $tagTablePtr->{$oldID}{'EntryBased'}) { } |
|
807
|
0 |
2129 |
if $valuePtr < $dirEnd and $valuePtr + $oldSize > $dirStart |
|
809
|
226 |
1903 |
if ($valuePtr < 0 or $valuePtr + $oldSize > $dataLen) |
|
811
|
218 |
8 |
if ($oldInfo) { } |
|
|
8 |
0 |
elsif (defined $oldInfo) { } |
|
816
|
8 |
0 |
if ($tmpInfo) |
|
821
|
0 |
226 |
unless $tagStr |
|
823
|
0 |
226 |
unless ($raf) |
|
824
|
0 |
0 |
if ($tagStr eq 'PreviewImage') { } |
|
|
0 |
0 |
elsif ($leicaTrailer) { } |
|
826
|
0 |
0 |
if ($raf) { } |
|
828
|
0 |
0 |
if ($oldInfo and $oldInfo->{'ChangeBase'}) |
|
847
|
0 |
0 |
unless $oldInfo |
|
853
|
0 |
226 |
if ($oldSize > BINARY_DATA_LIMIT() and $origDirInfo->{'ImageData'} and !defined($oldInfo) || $oldInfo && (!$oldInfo->{'SubDirectory'} || $oldInfo->{'ReadFromRAF'})) { } |
|
|
226 |
0 |
elsif ($raf) { } |
|
|
0 |
0 |
elsif (not $invalidPreview) { } |
|
860
|
0 |
0 |
unless (defined $set{$oldID}) |
|
861
|
0 |
0 |
$oldSize & 1 ? : |
|
868
|
0 |
226 |
if (defined $pos) |
|
872
|
0 |
0 |
unless ($success and $oldValue =~ /^(\xff\xd8\xff|(.|.{33})\xd8\xff\xdb)/s) |
|
877
|
0 |
226 |
unless ($success) |
|
878
|
0 |
0 |
if $et->Error("Error reading value for $name entry $index", $inMakerNotes) |
|
882
|
0 |
0 |
if $et->Error("Bad $name offset for $tagStr", $inMakerNotes) |
|
885
|
0 |
226 |
if ($invalidPreview) { } |
|
887
|
0 |
0 |
if ($et->{'FILE_TYPE'} eq 'JPEG') { } |
|
907
|
2 |
2127 |
if ($suspect) |
|
908
|
2 |
0 |
$oldInfo ? : |
|
910
|
2 |
0 |
if ($inMakerNotes) { } |
|
913
|
0 |
0 |
if $et->Error($str, 1) |
|
918
|
4461 |
226 |
unless $readFromFile |
|
920
|
160 |
4527 |
if (defined $oldInfo and not $oldInfo) |
|
926
|
0 |
0 |
if ($mayDelete{$oldID} and $oldInfo and !@newTags || $newTags[0] != $oldID) |
|
928
|
0 |
0 |
if (not $nvHash and $wrongDir) |
|
931
|
0 |
0 |
if $nvHash |
|
933
|
0 |
0 |
if ($nvHash) |
|
941
|
0 |
4687 |
if ($oldFormat == 13 || $oldFormat == 18 and not $oldInfo && $oldInfo->{'SubIFD'}) |
|
948
|
4687 |
0 |
if ($oldInfo) |
|
950
|
0 |
4687 |
if ($oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'} and not $Image::ExifTool::Exif::intFormat{$oldFormName}) |
|
956
|
4 |
0 |
if ($oldInfo->{'Drop'} and $et->{'DropTags'} and $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize) |
|
961
|
289 |
4394 |
if ($oldInfo->{'Format'}) |
|
964
|
0 |
289 |
unless ($readFormat) |
|
969
|
0 |
289 |
if ($oldInfo->{'FixedSize'}) |
|
970
|
0 |
0 |
if $oldInfo->{'FixedSize'} |
|
977
|
0 |
4683 |
if ($oldID <= $lastTagID and not $inMakerNotes || $et->IsRawType) |
|
978
|
0 |
0 |
$oldInfo ? : |
|
979
|
0 |
0 |
if ($oldID == $lastTagID) { } |
|
982
|
0 |
0 |
if defined $set{$oldID} |
|
998
|
2219 |
4843 |
if (not defined $oldID) { } |
|
|
3197 |
1646 |
elsif (not defined $newID) { } |
|
999
|
376 |
1843 |
unless defined $newID |
|
1003
|
35 |
3162 |
if (defined $set{$oldID}) { } |
|
1012
|
0 |
1646 |
if ($unsorted and $isNew) |
|
1013
|
0 |
0 |
if ($isNew > 0 and $hasOldID{$newID}) |
|
1018
|
0 |
0 |
if ($isNew < 0 and $hasNewID{$oldID}) |
|
1035
|
2286 |
4400 |
$isNew >= 0 ? : |
|
1038
|
2286 |
4400 |
if ($isNew >= 0) |
|
1042
|
110 |
70 |
unless ($curInfo or $addDirs->{$newID}) |
|
1047
|
24 |
86 |
if (defined $curInfo and not $curInfo) |
|
1052
|
396 |
25 |
unless $tagInfo->{'TagID'} == $newID |
|
1054
|
0 |
25 |
unless defined $val |
|
1057
|
24 |
1 |
if ($fmt) |
|
1059
|
0 |
24 |
unless defined $val |
|
1062
|
25 |
0 |
if ($curInfo) |
|
1063
|
21 |
4 |
if $curInfo eq $tagInfo |
|
1068
|
3 |
21 |
unless $curInfo |
|
1071
|
83 |
27 |
if ($curInfo and $et->{'NEW_VALUE'}{$curInfo}) { } |
|
1074
|
26 |
1 |
if $isNew > 0 |
|
1079
|
2189 |
71 |
if ($curInfo) { } |
|
|
1 |
70 |
elsif (not $addDirs->{$newID}) { } |
|
1080
|
6 |
2183 |
if ($curInfo->{'WriteCondition'}) |
|
1083
|
0 |
6 |
unless (eval $curInfo->{'WriteCondition'}) |
|
1084
|
0 |
0 |
if $@ |
|
1089
|
2189 |
0 |
if $isNew >= 0 |
|
1090
|
1099 |
1090 |
unless ($nvHash or defined $mandatory->{$newID}) |
|
1091
|
435 |
664 |
unless $wrongDir |
|
1095
|
28 |
636 |
unless $et->IsOverwriting($nvHash) |
|
1099
|
2 |
634 |
if (not defined $nvHash->{'Value'} and $nvHash->{'WantGroup'} and lc $nvHash->{'WantGroup'} eq lc $wrongDir) { } |
|
1109
|
463 |
3 |
if $isNew > 0 |
|
1113
|
1724 |
73 |
if ($set{$newID}) { } |
|
|
40 |
33 |
elsif ($isNew > 0) { } |
|
|
4 |
29 |
elsif ($newInfo->{'Format'} and $newInfo->{'Writable'} and $newInfo->{'Writable'} ne '1') { } |
|
|
0 |
31 |
elsif ($addDirs->{$newID} and $newInfo ne $addDirs->{$newID}) { } |
|
1121
|
1474 |
250 |
if ($isNew > 0) { } |
|
|
241 |
9 |
elsif ($nvHash or $xDelete{$newID}) { } |
|
1123
|
602 |
872 |
if ($nvHash) { } |
|
1124
|
84 |
518 |
unless $nvHash->{'IsCreating'} |
|
1125
|
1 |
517 |
if ($newInfo->{'IsOverwriting'}) { } |
|
1132
|
631 |
241 |
if $xDelete{$newID} |
|
1137
|
72 |
687 |
if ($newInfo->{'Format'}) { } |
|
1143
|
0 |
687 |
unless ($newFormName) |
|
1150
|
3 |
238 |
unless ($nvHash) |
|
1154
|
241 |
0 |
if (length $oldValue >= $oldSize) { } |
|
1162
|
2 |
239 |
unless $writable and $writable ne 1 |
|
1165
|
8 |
233 |
if ($writeForm ne $newFormName) |
|
1170
|
2 |
6 |
if ($inMakerNotes) { } |
|
|
2 |
4 |
elsif ($writable ne $newFormName) { } |
|
1178
|
26 |
9 |
if ($inMakerNotes and $readFormName ne "string" and $readFormName ne "undef") |
|
1182
|
1 |
240 |
if ($newInfo->{'IsOverwriting'}) { } |
|
1189
|
994 |
15 |
if ($isOverwriting) { } |
|
1190
|
751 |
243 |
unless defined $newVal |
|
1193
|
22 |
972 |
if (not defined $newVal or $xDelete{$newID} and not defined $nvHash->{'Shift'}) |
|
1194
|
0 |
20 |
if (not defined $newVal and $newInfo->{'RawConvInv'} and defined $nvHash->{'Value'}) |
|
1198
|
22 |
0 |
unless ($isNew) |
|
1204
|
19 |
953 |
if ($newCount and $newCount < 0) |
|
1211
|
0 |
972 |
unless (defined $newValue) |
|
1215
|
972 |
0 |
if (length $newValue) { } |
|
1218
|
0 |
751 |
if ($et->{'FILE_TYPE'} eq "JPEG" and length $newValue > 65436 and $newInfo->{'Name'} ne "PreviewImage") |
|
1221
|
0 |
0 |
$newInfo->{'MakerNotes'} ? : |
|
1225
|
1 |
971 |
if ($strEnc and $newFormName eq "string") |
|
1232
|
972 |
0 |
if ($isNew >= 0) |
|
1235
|
227 |
745 |
if (defined $allMandatory) |
|
1237
|
80 |
147 |
if ($nvHash) { } |
|
1244
|
13 |
959 |
if ($verbose > 1) |
|
1245
|
0 |
13 |
unless $isNew |
|
1246
|
0 |
13 |
if ($newInfo->{'OffsetPair'} and $newVal eq '4277010157') { } |
|
1249
|
8 |
5 |
$nvHash ? : |
|
1255
|
0 |
15 |
if $isNew > 0 |
|
1259
|
75 |
912 |
if ($ifdFormName) |
|
1270
|
0 |
40 |
unless $newInfo = $addDirs->{$newID} |
|
1273
|
0 |
40 |
if $newInfo->{'MakerNotes'} or $newInfo->{'Name'} eq "SubIFD" |
|
1275
|
13 |
27 |
if ($newInfo->{'SubDirectory'}{'TagTable'}) { } |
|
1285
|
36 |
4 |
if $newInfo->{'SubIFD'} |
|
1288
|
2 |
38 |
unless defined $newValue and length $newValue |
|
1290
|
34 |
4 |
if ($newInfo->{'SubIFD'}) { } |
|
1308
|
0 |
4 |
unless ($newFormName and $Image::ExifTool::Exif::formatNumber{$newFormName}) |
|
1324
|
4418 |
1040 |
if ($isNew < 0) |
|
1332
|
0 |
4418 |
if ($oldImageData) |
|
1338
|
5458 |
0 |
if ($newInfo) |
|
1342
|
8 |
5450 |
if ($newInfo->{'DataTag'} and $isNew >= 0) |
|
1345
|
4 |
4 |
unless (defined $offsetData{$dataTag} or $dataTag eq "LeicaTrailer") |
|
1351
|
4 |
0 |
if (defined $offsetData{$dataTag}) { } |
|
1353
|
2 |
2 |
if ($dataTag eq "PreviewImage") |
|
1355
|
2 |
0 |
if $len <= 4 |
|
1360
|
0 |
4 |
if ($err) |
|
1361
|
0 |
0 |
if $newInfo->{'IsOffset'} |
|
1370
|
43 |
5415 |
if ($newInfo->{'MakerNotes'}) { } |
|
|
433 |
4982 |
elsif ($newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting and !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'} and not $newInfo->{'ReadFromRAF'}) { } |
|
|
158 |
4824 |
elsif ($newInfo->{'OffsetPair'}) { } |
|
|
279 |
4545 |
elsif ($newInfo->{'DataMember'}) { } |
|
1372
|
1 |
0 |
if ($et->{'DEL_GROUP'}{'MakerNotes'} and $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0) |
|
1375
|
0 |
1 |
if ($et->IsRawType) { } |
|
1378
|
1 |
0 |
if ($isNew <= 0) |
|
1380
|
0 |
1 |
if $verbose |
|
1386
|
7 |
35 |
if ($isNew >= 0 and defined $set{$newID}) { } |
|
1390
|
6 |
1 |
if ($nvHash and $nvHash->{'MAKER_NOTE_FIXUP'}) |
|
1413
|
35 |
0 |
if ($newInfo->{'SubDirectory'}) |
|
1415
|
4 |
31 |
if $sub->{'FixBase'} |
|
1418
|
5 |
30 |
if defined $sub->{'Base'} |
|
1420
|
34 |
1 |
if $sub->{'ByteOrder'} |
|
1423
|
35 |
0 |
if ($oldInfo and $oldInfo->{'SubDirectory'}) { } |
|
1425
|
35 |
0 |
if $subTable |
|
1431
|
35 |
0 |
if $subTable |
|
1432
|
0 |
35 |
unless $subTable |
|
1433
|
0 |
35 |
if ($writeProc and $writeProc eq \&Image::ExifTool::MakerNotes::WriteUnknownOrPreview and $oldValue =~ /^\xff\xd8\xff/) { } |
|
|
33 |
2 |
elsif (not $notIFD) { } |
|
1442
|
33 |
2 |
if (defined $loc) { } |
|
|
1 |
1 |
elsif ($subTable->{'PROCESS_PROC'} and $subTable->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData) { } |
|
|
1 |
0 |
elsif ($notIFD) { } |
|
1448
|
1 |
32 |
if ($changed == $et->{'CHANGED'} and $subdirInfo{'Fixup'}->IsEmpty) |
|
1456
|
1 |
0 |
if (defined $sub->{'Start'}) { } |
|
1468
|
1 |
0 |
if ($writeProc) |
|
1474
|
0 |
0 |
if ($et->{'FILE_TYPE'} eq 'JPEG') { } |
|
1480
|
34 |
1 |
if (defined $subdir) |
|
1481
|
0 |
34 |
unless length $subdir |
|
1488
|
5 |
29 |
if ($subdirInfo{'Relative'}) { } |
|
|
29 |
0 |
elsif (not defined $subdirInfo{'Relative'}) { } |
|
1495
|
1 |
4 |
if ($previewInfo) |
|
1498
|
1 |
1 |
unless /_PreviewImage$/ |
|
1515
|
1 |
28 |
if ($subdirInfo{'AutoFix'}) { } |
|
|
0 |
28 |
elsif ($subdirInfo{'FixBase'} and $baseShift < 0 and !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0) { } |
|
1522
|
0 |
0 |
if (not defined $fixBase) { } |
|
|
0 |
0 |
elsif ($fixBase eq '') { } |
|
1523
|
0 |
0 |
$et->Options('IgnoreMinorErrors') ? : |
|
1535
|
4 |
25 |
if ($previewInfo and not $previewInfo->{'NoBaseShift'}) |
|
1552
|
106 |
327 |
if ($newInfo->{'SubIFD'}) { } |
|
|
327 |
0 |
elsif (!defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/ and $subdir->{'TagTable'}) { } |
|
1557
|
15 |
91 |
if ($subdir->{'TagTable'}) |
|
1563
|
8 |
98 |
if $subTable->{'GROUPS'}{'0'} eq "MakerNotes" |
|
1566
|
0 |
106 |
unless ($readCount) |
|
1567
|
0 |
0 |
if $et->Error("$name entry $index has zero count", 2) |
|
1580
|
109 |
0 |
if (defined $subdir->{'Start'}) |
|
1583
|
0 |
109 |
unless (&Image::ExifTool::IsInt($newStart)) |
|
1591
|
0 |
109 |
if ($subdir->{'Base'}) |
|
1597
|
3 |
106 |
if $i |
|
1606
|
67 |
42 |
$imageDataFlag eq 'Main' ? : |
|
1615
|
55 |
54 |
if $newInfo->{'SubIFD'} == 2 |
|
1616
|
0 |
109 |
if ($subdir->{'RelativeBase'}) |
|
1622
|
15 |
94 |
if ($subdirStart < 0 or $subdirStart + 2 > $dataLen) |
|
1623
|
15 |
0 |
if ($raf) { } |
|
1630
|
0 |
0 |
if ($subTable->{'VARS'} and $subTable->{'VARS'}{'MINOR_ERRORS'}) { } |
|
|
0 |
0 |
elsif ($et->Error(@err)) { } |
|
1639
|
0 |
109 |
unless (defined $subdirData) |
|
1641
|
0 |
0 |
unless $et->{'VALUE'}{'Error'} |
|
1645
|
0 |
0 |
if ($hdrLen and $hdrLen > 0 and $subdirStart <= $dataLen) |
|
1649
|
6 |
103 |
unless (length $subdirData) |
|
1650
|
6 |
0 |
unless $inMakerNotes |
|
1658
|
4 |
99 |
if (ref $subdirInfo{'ImageData'}) |
|
1666
|
5 |
98 |
if ($readCount > 1) { } |
|
1684
|
6 |
100 |
unless length $newValue |
|
1687
|
0 |
100 |
if ($writeCount < $readCount and $writeCount == 1) |
|
1705
|
4 |
323 |
if ($subdir->{'Start'}) |
|
1712
|
1 |
326 |
if ($subdir->{'Base'}) |
|
1731
|
0 |
327 |
unless ($oldSize) |
|
1742
|
21 |
306 |
if $subdir->{'ByteOrder'} |
|
1745
|
266 |
61 |
if (defined $newValue) { } |
|
1747
|
3 |
263 |
if ($hdrLen) |
|
1755
|
1 |
326 |
unless (length $$newValuePt) |
|
1757
|
1 |
0 |
if $oldSize or not $inMakerNotes |
|
1759
|
5 |
321 |
if ($subFixup->{'Pointers'} and $subdirInfo{'Base'} == $base) { } |
|
1773
|
10 |
148 |
if ($dataTag eq 'CanonVRD') { } |
|
|
7 |
141 |
elsif ($dataTag eq 'OriginalDecisionData') { } |
|
1776
|
1 |
9 |
if ($et->{'NEW_VALUE'}{$Image::ExifTool::Extra{'CanonVRD'}}) { } |
|
|
0 |
9 |
elsif ($et->{'DEL_GROUP'}{'CanonVRD'} or $et->{'DEL_GROUP'}{'Trailer'}) { } |
|
1778
|
1 |
0 |
$et->GetNewValue('CanonVRD') ? : |
|
1786
|
1 |
9 |
if ($hasVRD) { } |
|
1800
|
1 |
6 |
if ($oddInfo and $et->{'NEW_VALUE'}{$oddInfo}) { } |
|
|
1 |
5 |
elsif ($$newValuePt ne "\000\000\000\000") { } |
|
1802
|
0 |
1 |
if ($verbose > 1) |
|
1803
|
0 |
0 |
if $$newValuePt ne "\0\0\0\0" |
|
1804
|
0 |
0 |
if $odd |
|
1808
|
1 |
0 |
if (length $$newValuePt == 4) { } |
|
1812
|
0 |
1 |
unless $et->{'FILE_TYPE'} eq "JPEG" |
|
1814
|
1 |
0 |
if ref $odd |
|
1819
|
2 |
5 |
if ($odd) { } |
|
1822
|
1 |
1 |
if $et->{'FILE_TYPE'} eq "JPEG" |
|
1834
|
137 |
4 |
if ($isNew <= 0) |
|
1837
|
0 |
137 |
if $newInfo->{'ByteOrder'} |
|
1840
|
68 |
69 |
unless $newInfo->{'IsOffset'} |
|
1843
|
0 |
0 |
if ($Image::ExifTool::Exif::formatSize[$newFormat] != 4 and $newInfo->{'IsOffset'}) |
|
1844
|
0 |
0 |
if $isNew > 0 |
|
1845
|
0 |
0 |
if $newCount != $readCount |
|
1850
|
0 |
0 |
unless (defined $newValue) |
|
1856
|
70 |
71 |
unless $offsetInfo |
|
1861
|
0 |
141 |
unless $newCount |
|
1872
|
0 |
279 |
if ($newInfo->{'Format'} and $newInfo->{'Format'} ne $formatStr) |
|
1876
|
0 |
0 |
if $format |
|
1880
|
279 |
0 |
if ($conv) { } |
|
1882
|
0 |
279 |
if (ref $conv eq 'CODE') { } |
|
1902
|
5450 |
0 |
unless $oldInfo and $oldInfo->{'FixedSize'} |
|
1903
|
153 |
5297 |
if ($Image::ExifTool::Exif::saveForValidate{$newID} and $tagTablePtr eq \%Image::ExifTool::Exif::Main) |
|
1907
|
2475 |
2975 |
if ($newSize > 4) { } |
|
1915
|
5 |
2470 |
if ($dirInfo->{'EntryBased'} or $newInfo and $newInfo->{'EntryBased'}) { } |
|
1922
|
2475 |
0 |
if $newInfo |
|
1923
|
2 |
2473 |
if ($dataTag) |
|
1924
|
1 |
1 |
if ($dataTag eq 'PreviewImage' and $et->{'FILE_TYPE'} eq 'JPEG' || $et->{'GENERATE_PREVIEW_INFO'}) { } |
|
|
0 |
1 |
elsif ($dataTag eq 'LeicaTrailer' and $et->{'LeicaTrailer'}) { } |
|
1929
|
1 |
0 |
unless $et->{'PREVIEW_INFO'} |
|
1932
|
0 |
1 |
if $newInfo->{'ChangeBase'} |
|
1933
|
0 |
1 |
if ($newInfo->{'IsOffset'} and $newInfo->{'IsOffset'} eq 2) |
|
1937
|
0 |
1 |
if $$newValuePt eq "LOAD_PREVIEW" |
|
1943
|
1 |
2474 |
if ($putFirst and $dirInfo->{'HeaderPtr'}) { } |
|
1951
|
5 |
2469 |
if ($entryBased) { } |
|
1952
|
1 |
4 |
unless $entryBasedFixup |
|
1961
|
1926 |
1049 |
if $newSize < 4 |
|
1968
|
289 |
186 |
if (defined $mandatory->{$newID}) |
|
1972
|
280 |
9 |
if (defined $mandVal and $mandVal eq $$newValuePt) |
|
1981
|
80 |
296 |
if (%validateInfo) |
|
1985
|
0 |
376 |
if ($ignoreCount) |
|
1986
|
0 |
0 |
$ignoreCount > 1 ? : |
|
1987
|
0 |
0 |
$dirInfo->{'FixBase'} ? : |
|
1990
|
0 |
376 |
if ($fixCount) |
|
1991
|
0 |
0 |
$fixCount > 1 ? : |
|
1999
|
289 |
87 |
if ($dirEnd + 4 <= $dataLen) { } |
|
2013
|
14 |
3 |
if ($allMandatory and not $isNextIFD and $newEntries < $numEntries || $numEntries == 0) |
|
2018
|
13 |
1 |
if defined $deleteAll |
|
2019
|
0 |
14 |
if $verbose > 1 |
|
2022
|
1 |
375 |
if ($ifd and not $newEntries) |
|
2023
|
0 |
1 |
if $verbose |
|
2027
|
1 |
374 |
if ($entryBasedFixup) |
|
2035
|
53 |
322 |
if ($dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/) |
|
2037
|
13 |
40 |
if defined $pad and $pad == 0 || $pad > 4 && $pad <= 32 |
|
2044
|
47 |
328 |
if ($nextIfdPos) |
|
2050
|
368 |
7 |
length $nextIFD ? : |
|
2056
|
120 |
255 |
if (@subdirs) |
|
2061
|
137 |
0 |
if ($subdirFixup) |
|
2068
|
4 |
133 |
if (ref $imageData) |
|
2072
|
4 |
0 |
if ($subFix) |
|
2086
|
5 |
132 |
if $subdir->{'Where'} eq "valBuff" |
|
2089
|
0 |
137 |
unless (&Get32u(\$newData, $offset) == 4277006349) |
|
2100
|
362 |
13 |
if ($dirFixup) |
|
2112
|
326 |
49 |
unless $isNextIFD |
|
2113
|
42 |
7 |
if ($nextIfdOffset) { } |
|
2118
|
0 |
7 |
if $verbose |
|
2125
|
49 |
0 |
$dirName =~ s/(\d+)$// ? : |
|
2130
|
7 |
42 |
unless $nextIfdOffset |
|
2134
|
0 |
42 |
if ($et->{'PROCESSED'}{$addr}) |
|
2140
|
0 |
42 |
if ($dirName eq "SubIFD1" and not &ValidateIFD($dirInfo, $dirStart)) |
|
2141
|
0 |
0 |
if ($et->{'TIFF_TYPE'} eq 'TIFF') { } |
|
|
0 |
0 |
elsif ($verbose) { } |
|
2148
|
1 |
41 |
if ($et->{'DEL_GROUP'}{$dirName}) { } |
|
2149
|
0 |
1 |
if $verbose |
|
2150
|
0 |
1 |
if $raf |
|
2153
|
0 |
1 |
if ($et->{'DEL_GROUP'}{$dirName} == 2 and $et->{'ADD_DIRS'}{$dirName}) { } |
|
2164
|
0 |
41 |
if $verbose |
|
2184
|
60 |
268 |
if (@offsetInfo) |
|
2190
|
102 |
60 |
if ($ifd >= 0) { } |
|
2191
|
32 |
70 |
unless my $offsetInfo = $offsetInfo[$ifd] |
|
2192
|
0 |
23 |
if ($offsetInfo->{'273'} and $offsetInfo->{'324'}) |
|
2195
|
0 |
0 |
if ($dirName eq 'SubIFD' and $et->{'TIFF_TYPE'} eq 'ARW' and $offsetInfo->{'279'} and $offsetInfo->{'325'} and $offsetInfo->{'273'}[2] == 1) { } |
|
2214
|
1 |
0 |
if ($stripOffsets and $stripOffsets->[0]{'PanasonicHack'} or $rawDataOffset and $rawDataOffset->[0]{'PanasonicHack'}) |
|
2219
|
0 |
1 |
if $err |
|
2226
|
70 |
70 |
unless $tagInfo->{'IsOffset'} |
|
2228
|
0 |
70 |
unless $sizeInfo |
|
2231
|
24 |
46 |
if ($raf and defined $origDirInfo->{'ImageData'} and $tagID == 273 || $tagID == 324 || $sizeInfo->[3][0] && $sizeInfo->[3][0] * scalar(@{$sizeInfo->[3];}) > 1000000 and not defined $dataTag && defined $offsetData{$dataTag}) { } |
|
2246
|
43 |
17 |
unless @writeLater |
|
2255
|
0 |
70 |
unless ($count == $count2) |
|
2261
|
0 |
70 |
if $count > 1 |
|
2263
|
0 |
70 |
if $n > 4 |
|
2264
|
0 |
70 |
if ($byteCounts < 0 or $byteCounts + $n > length $newData) |
|
2270
|
2 |
68 |
if ($tagInfo->{'IsOffset'} eq '2') { } |
|
2278
|
0 |
70 |
if ($tagInfo->{'WrongBase'}) { } |
|
2290
|
0 |
70 |
if $tagInfo->{'ByteOrder'} |
|
2294
|
68 |
2 |
if (@$oldOffset and @$oldSize) |
|
2302
|
1 |
69 |
if ($tagInfo->{'PanasonicHack'}) { } |
|
2310
|
68 |
2 |
if (defined $offset) { } |
|
|
0 |
2 |
elsif ($size != 4277010157) { } |
|
2319
|
4 |
66 |
if ($size == 4277010157) { } |
|
|
24 |
42 |
elsif ($ifd < 0) { } |
|
|
37 |
5 |
elsif ($offset >= 0 and $offset + $size <= $dataLen) { } |
|
|
0 |
5 |
elsif ($et->{'TIFF_TYPE'} eq 'MRW') { } |
|
|
4 |
1 |
elsif ($raf and $raf->Seek($offset + $dbase + $dpos, 0) and $raf->Read($buff, $size) == $size) { } |
|
|
0 |
1 |
elsif ($tagInfo->{'Name'} eq 'ThumbnailOffset' and $offset >= 0 and $offset < $dataLen) { } |
|
|
1 |
0 |
elsif ($tagInfo->{'Name'} eq 'PreviewImageStart' and $et->{'FILE_TYPE'} eq 'JPEG') { } |
|
2320
|
0 |
4 |
unless (defined $dataTag) |
|
2324
|
0 |
4 |
unless (defined $offsetData{$dataTag}) |
|
2328
|
0 |
4 |
if ($count > 1) |
|
2333
|
0 |
4 |
if ($Image::ExifTool::Exif::formatSize[$format] != 4) |
|
2342
|
0 |
24 |
if ($offsetPair->[0][6]) |
|
2343
|
0 |
0 |
if ($count > 1) { } |
|
2348
|
0 |
0 |
if ($padToFixedOffset < 0) { } |
|
2360
|
0 |
0 |
if $blockSize + $size & 1 and $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1] |
|
2363
|
0 |
0 |
if ($origDirInfo->{'PreserveImagePadding'} and $n + 1 < $count and $oldEnd and $$oldOffset[$n + 1] > $oldEnd) |
|
2372
|
4 |
20 |
if ($imageDataFlag eq "SubIFD" and not $subIfdDataFixup) |
|
2385
|
0 |
0 |
$n & 3 ? : |
|
2388
|
0 |
0 |
unless defined $ttwLen |
|
2395
|
0 |
0 |
if ($et->{'TIFF_TYPE'} eq "ARW" and $tagInfo->{'Name'} eq "ThumbnailOffset" and $et->{'Model'} eq "DSLR-A100" and not $buff =~ /^\xff\xd8\xff/) |
|
2400
|
0 |
0 |
if ($pos < 65536 and $raf->Seek($pos + 65536, 0) and $raf->Read($try, $size) == $size and $try =~ /^\xff\xd8\xff/) { } |
|
2415
|
0 |
0 |
unless (&WriteValue($size, $formatStr, 1, \$newData, $byteCountPos)) |
|
2424
|
1 |
0 |
if ($r and not $raf) |
|
2427
|
1 |
0 |
unless $r->Seek($offset + $base + $dataPos, 0) and $r->Read($buff, $size) == $size and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/s |
|
2430
|
0 |
1 |
unless $r->Seek($tell, 0) |
|
2433
|
1 |
0 |
unless defined $buff |
|
2436
|
0 |
0 |
if $et->Error("Error reading $dataName data in $name", $inMakerNotes) |
|
2439
|
14 |
56 |
if ($tagInfo->{'Name'} eq "PreviewImageStart") |
|
2440
|
8 |
6 |
if ($et->{'FILE_TYPE'} eq 'JPEG' and not $tagInfo->{'MakerPreview'}) { } |
|
|
0 |
12 |
elsif ($et->{'TIFF_TYPE'} eq 'ARW' and $et->{'Model'} eq 'DSLR-A100') { } |
|
2443
|
7 |
1 |
unless $et->{'PREVIEW_INFO'} |
|
2446
|
2 |
6 |
if ($tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} eq 2) |
|
2449
|
7 |
1 |
if ($offset >= 0 and $offset + $size <= $dataLen) |
|
2457
|
0 |
0 |
if $et->{'A100PreviewLength'} |
|
2458
|
0 |
0 |
if defined $buff |
|
2466
|
4 |
66 |
if $subIfdDataFixup |
|
2470
|
0 |
70 |
if ($otherPos) |
|
2471
|
0 |
0 |
if ($tagInfo->{'PanasonicHack'}) { } |
|
|
0 |
0 |
elsif (ref $otherPos eq 'ARRAY') { } |
|
2481
|
0 |
0 |
if $count > 1 |
|
2487
|
0 |
0 |
if $subIfdDataFixup |
|
2491
|
46 |
24 |
if ($ifd >= 0) { } |
|
2493
|
1 |
45 |
if length $buff & 1 |
|
2503
|
0 |
60 |
if (defined $ttwLen and $ttwLen != length $newData) |
|
2513
|
0 |
28 |
if (defined $entry) |
|
2515
|
0 |
0 |
if ($format < 1 or $format > 13) { } |
|
2524
|
0 |
0 |
if ($imageDataFlag eq "SubIFD") |
|
2535
|
4 |
4 |
if ($subFix and defined $subFix->{'BlockLen'} and $numBlocks > 0) |
|
2548
|
124 |
204 |
unless ($dirInfo->{'Fixup'}) |
|
2550
|
121 |
3 |
$hdrPtr ? : |
|
2557
|
124 |
0 |
if ($newDataPos) |
|
2562
|
0 |
124 |
if $et->{'LeicaTrailer'} |
|
2565
|
6 |
118 |
if ($previewInfo) { } |
|
|
6 |
112 |
elsif (defined $newData and $deleteAll) { } |
|
|
0 |
112 |
elsif ($et->{'A100PreviewLength'}) { } |
|
2569
|
5 |
1 |
if ($$pt ne 'LOAD_PREVIEW' and length($$pt) + length($newData) + 14 <= 65533 and not $previewInfo->{'IsTrailer'} or $previewInfo->{'IsShort'}) { } |
|
2577
|
0 |
5 |
if ($previewInfo->{'Relative'}) |
|
2584
|
0 |
5 |
unless $et->{'PREVIEW_INFO'}{'WasContained'} |
|
2589
|
0 |
1 |
unless $previewInfo->{'Fixup'} |
|
2599
|
6 |
118 |
if ($newDataPos == 16) |
|
2605
|
0 |
124 |
if ($key) |
|
2609
|
0 |
0 |
if ($start and $start - 8 + $len <= length $newData) |
|
2617
|
13 |
315 |
if defined $newData and length $newData < 12 |
|
2620
|
0 |
315 |
if defined $newData and length $newData and $et->{'FORCE_WRITE'}{'EXIF'} |