| line |
true |
false |
branch |
|
63
|
0 |
0 |
if lc $val eq "now" |
|
64
|
0 |
0 |
if $val =~ /Z$/ |
|
65
|
0 |
0 |
if $val =~ /([-+])(\d{1,2}):?(\d{2})/ |
|
77
|
1 |
6 |
@a ? : |
|
88
|
0 |
1 |
unless @rows |
|
90
|
0 |
1 |
unless @cols |
|
97
|
0 |
2 |
unless @cols == $ny |
|
101
|
0 |
4 |
unless defined $c |
|
116
|
124 |
6229 |
if (not $format or $format eq 1) |
|
117
|
124 |
0 |
if ($tagInfo->{'Groups'}{'0'} eq 'MakerNotes') { } |
|
135
|
0 |
13 |
if ($val =~ /[\x80-\xff]/) { } |
|
164
|
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") |
|
173
|
23 |
0 |
if (defined $loc) |
|
200
|
23 |
0 |
if (defined $rtnValue and length $rtnValue) |
|
202
|
2 |
21 |
if ($newTool->{'PREVIEW_INFO'}) |
|
208
|
9 |
14 |
if ($loc) |
|
214
|
0 |
9 |
if ($dirInfo->{'Parent'} eq "IFD0" and $hdr =~ /^(PENTAX |SAMSUNG)\0/) |
|
217
|
0 |
0 |
if ($et->{'Model'} =~ /\b(K(-[57mrx]|(10|20|100|110|200)D|2000)|GX(10|20))\b/) |
|
236
|
19 |
4 |
unless ($subdirInfo{'Relative'}) |
|
262
|
0 |
0 |
unless $tagID or $index == 0 or $allowZero |
|
264
|
0 |
0 |
if ($entries{$tagID}) { } |
|
288
|
0 |
0 |
unless my $raf = $dirInfo->{'RAF'} |
|
290
|
0 |
0 |
unless defined $dirStart |
|
293
|
0 |
0 |
unless $raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2 |
|
295
|
0 |
0 |
unless $numEntries > 1 and $numEntries < 64 |
|
297
|
0 |
0 |
unless $raf->Read($buff, $len) == $len |
|
302
|
0 |
0 |
unless $tagID > $lastID or $dirInfo->{'AllowOutOfOrderTags'} |
|
304
|
0 |
0 |
unless $format > 0 and $format <= 13 |
|
306
|
0 |
0 |
unless $count > 0 |
|
326
|
0 |
0 |
if $format < 1 or $format > 13 |
|
329
|
0 |
0 |
if ($size <= 4) |
|
331
|
0 |
0 |
unless ref $tagTablePtr->{$tagID} eq "HASH" and $tagTablePtr->{$tagID}{'FixCount'} |
|
334
|
0 |
0 |
if $offset >= $ifdEnd |
|
351
|
278 |
54 |
if (defined $et->{'TIFF_END'} and $et->{'TIFF_END'} < $end) |
|
371
|
5 |
1 |
if (!defined($vInfo->{'259'}) || $vInfo->{'259'} eq '1' and $vInfo->{'256'} and $vInfo->{'257'} and $vInfo->{'279'} || $vInfo->{'325'}) |
|
375
|
5 |
0 |
$vInfo->{'258'} ? : |
|
381
|
0 |
5 |
if $et->{'DOC_NUM'} or $et->{'FILE_TYPE'} ne "TIFF" |
|
382
|
0 |
5 |
unless (@bitsPerSample == $samplesPerPix) |
|
383
|
0 |
0 |
unless ($et->{'FILE_TYPE'} eq "EPS" and @bitsPerSample == 1) |
|
385
|
0 |
0 |
$samplesPerPix eq '1' ? : |
|
390
|
0 |
0 |
if $_ ne $bitsPerSample[0] |
|
391
|
0 |
0 |
if $_ < 1 or $_ > 32 |
|
397
|
1 |
4 |
if ($expectedBytes != $totalBytes and not $et->{'TIFF_TYPE'} =~ /^(K25|KDC|MEF|ORF|SRF)$/) |
|
402
|
1 |
0 |
if ($expectedBytes > $totalBytes) { } |
|
404
|
0 |
1 |
unless $errFlag |
|
410
|
1 |
0 |
if (not defined $minor) { } |
|
435
|
0 |
0 |
unless ref $offsetInfo->{$tagID} eq "ARRAY" |
|
437
|
0 |
0 |
unless $tagInfo->{'IsImageData'} |
|
440
|
0 |
0 |
if ($tagInfo->{'NotRealPair'}) { } |
|
|
0 |
0 |
elsif ($sizeID and $offsetInfo->{$sizeID}) { } |
|
448
|
0 |
0 |
if $tagInfo->{'NotRealPair'} |
|
452
|
0 |
0 |
unless $offset =~ /^\d+$/ and $size and $size =~ /^\d+$/ and $size |
|
453
|
0 |
0 |
unless $raf->Seek($offset, 0) |
|
456
|
0 |
0 |
if ($verbose) |
|
473
|
0 |
0 |
if ($tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'MINOR_ERRORS'}) |
|
474
|
0 |
0 |
if $minor |
|
477
|
0 |
0 |
if $et->Error($errStr, $minor) |
|
489
|
0 |
0 |
unless $et |
|
497
|
0 |
0 |
unless $raf->Seek($base, 0) and $raf->Read($buff, 8) == 8 |
|
498
|
0 |
0 |
unless (&SetByteOrder(substr($buff, 0, 2)) and &Get16u(\$buff, 2) == $magic) |
|
500
|
0 |
0 |
if ($dirInfo->{'IsWriting'}) { } |
|
521
|
0 |
0 |
if ($dirInfo->{'IsWriting'}) |
|
526
|
0 |
0 |
unless $newDir |
|
530
|
0 |
0 |
if ($et->{'HTML_DUMP'}) |
|
531
|
0 |
0 |
&GetByteOrder() eq 'II' ? : |
|
553
|
8222 |
331 |
unless $et |
|
556
|
34 |
297 |
unless ($dataPt) |
|
578
|
157 |
8 |
unless $name and $dirName eq "MakerNotes" and not $name =~ /^MakerNote/ |
|
581
|
199 |
132 |
if $dirName eq "IFD0" or $dirName eq "ExifIFD" |
|
584
|
256 |
75 |
if $tagTablePtr->{'GROUPS'}{'0'} eq "EXIF" |
|
587
|
116 |
215 |
if $dirName =~ /^(IFD0|SubIFD)$/ and not defined $dirInfo->{'Multi'} |
|
588
|
74 |
257 |
if $tagTablePtr->{'GROUPS'}{'0'} eq "MakerNotes" |
|
604
|
118 |
261 |
if ($dirStart < 0 or $dirStart > $dataLen - 2) { } |
|
|
261 |
0 |
elsif ($dirLen >= 2) { } |
|
608
|
0 |
261 |
if $dirStart + $len > $dataLen |
|
611
|
118 |
261 |
if ($mustRead) |
|
612
|
38 |
80 |
if ($raf) { } |
|
|
0 |
160 |
elsif ($dirLen and $dirStart + 4 >= $dataLen) { } |
|
616
|
0 |
38 |
unless ($raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2) |
|
621
|
0 |
38 |
unless ($raf->Read($buf2, $len + 4) >= $len) |
|
635
|
38 |
0 |
if $dataLen == $len + 6 and $dirInfo->{'Multi'} || $buff =~ /\0{4}$/ |
|
640
|
0 |
0 |
$et->Options('IgnoreMinorErrors') ? : |
|
645
|
292 |
87 |
if ($dirStart + 4 < $dataLen) { } |
|
648
|
0 |
292 |
if ($dirEnd > $dataLen) |
|
651
|
0 |
0 |
unless $n and defined $rtn |
|
660
|
128 |
6 |
if $tagID < $lastID and $tagID || $tagTablePtr->{'0'} |
|
664
|
0 |
292 |
if ($unsorted and not $inMakerNotes || $et->IsRawType) |
|
682
|
168 |
1874 |
ref $tagTablePtr->{$tagID} eq 'ARRAY' || $tagInfo->{'Condition'} ? : |
|
686
|
2 |
54 |
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)) |
|
694
|
0 |
2 |
if $et->{'FORCE_WRITE'}{'FixBase'} |
|
695
|
0 |
0 |
if ($et->{'TIFF_TYPE'} eq "SRW" and $et->{'Make'} eq "SAMSUNG" and $et->{'Model'} eq "EK-GN120") |
|
703
|
293 |
86 |
if ($mandatory) { } |
|
705
|
6 |
287 |
if ($dirName eq "IFD0" and defined $et->{'JFIFYResolution'}) |
|
714
|
87 |
206 |
unless ($numEntries) |
|
716
|
237 |
84 |
unless defined $set{$_} |
|
723
|
74 |
305 |
if ($inMakerNotes) { } |
|
730
|
5 |
36 |
unless $set{$_} |
|
732
|
0 |
36 |
if defined $perm and not $perm |
|
734
|
0 |
74 |
if @newTags > 1 |
|
758
|
0 |
379 |
if ($inMakerNotes and $et->{'Model'} eq "Canon EOS 40D") |
|
760
|
0 |
0 |
if ($fmt < 1 or $fmt > 13) |
|
773
|
5125 |
2002 |
if (defined $oldID and $oldID == $newID) |
|
777
|
4746 |
379 |
if ($index < $numEntries) { } |
|
783
|
0 |
4746 |
if ($oldFormat < 1 or $oldFormat > 13 and not $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes) |
|
788
|
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) |
|
799
|
0 |
0 |
if ($oldFormat == 0 and $index and $oldCount == 0) |
|
802
|
0 |
0 |
if $dirInfo->{'FixBase'} |
|
816
|
585 |
4161 |
if (ref $oldInfo ne "HASH" or $oldInfo->{'Condition'}) |
|
824
|
0 |
2824 |
if ($oldCount < 2 and $oldInfo and $oldInfo->{'FixCount'}) |
|
825
|
0 |
0 |
unless $offList |
|
828
|
0 |
0 |
if (defined $i and $i < $#$offList) |
|
830
|
0 |
0 |
if $oldCount != $readCount |
|
835
|
2165 |
2581 |
if ($oldSize > 4) |
|
838
|
0 |
2165 |
if ($dirInfo->{'FixOffsets'}) |
|
839
|
0 |
0 |
unless $valEnd |
|
843
|
0 |
0 |
unless (defined $valuePtr) |
|
844
|
0 |
0 |
unless ($et->{'DropTags'}) |
|
845
|
0 |
0 |
$oldInfo ? : |
|
846
|
0 |
0 |
if $et->Error("Bad $name offset for $tagStr", $inMakerNotes) |
|
854
|
5 |
2160 |
if ($dirInfo->{'EntryBased'} or ref $tagTablePtr->{$oldID} eq 'HASH' and $tagTablePtr->{$oldID}{'EntryBased'}) { } |
|
862
|
0 |
2165 |
if $valuePtr < $dirEnd and $valuePtr + $oldSize > $dirStart |
|
864
|
226 |
1939 |
if ($valuePtr < 0 or $valuePtr + $oldSize > $dataLen) |
|
866
|
218 |
8 |
if ($oldInfo) { } |
|
|
8 |
0 |
elsif (defined $oldInfo) { } |
|
871
|
8 |
0 |
if ($tmpInfo) |
|
876
|
0 |
226 |
unless $tagStr |
|
878
|
0 |
226 |
unless ($raf) |
|
879
|
0 |
0 |
if ($tagStr eq 'PreviewImage') { } |
|
|
0 |
0 |
elsif ($leicaTrailer) { } |
|
881
|
0 |
0 |
if ($raf) { } |
|
883
|
0 |
0 |
if ($oldInfo and $oldInfo->{'ChangeBase'}) |
|
902
|
0 |
0 |
unless $oldInfo |
|
908
|
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) { } |
|
915
|
0 |
0 |
unless (defined $set{$oldID}) |
|
916
|
0 |
0 |
$oldSize & 1 ? : |
|
923
|
0 |
226 |
if (defined $pos) |
|
927
|
0 |
0 |
unless ($success and $oldValue =~ /^(\xff\xd8\xff|(.|.{33})\xd8\xff\xdb)/s) |
|
932
|
0 |
226 |
unless ($success) |
|
933
|
0 |
0 |
if $et->Error("Error reading value for $name entry $index", $inMakerNotes) |
|
937
|
0 |
0 |
if $et->Error("Bad $name offset for $tagStr", $inMakerNotes) |
|
940
|
0 |
226 |
if ($invalidPreview) { } |
|
942
|
0 |
0 |
if ($et->{'FILE_TYPE'} eq 'JPEG') { } |
|
962
|
2 |
2163 |
if ($suspect) |
|
963
|
2 |
0 |
$oldInfo ? : |
|
965
|
2 |
0 |
if ($inMakerNotes) { } |
|
968
|
0 |
0 |
if $et->Error($str, 1) |
|
973
|
4520 |
226 |
unless $readFromFile |
|
975
|
162 |
4584 |
if (defined $oldInfo and not $oldInfo) |
|
981
|
0 |
0 |
if ($mayDelete{$oldID} and $oldInfo and !@newTags || $newTags[0] != $oldID) |
|
983
|
0 |
0 |
if (not $nvHash and $wrongDir) |
|
986
|
0 |
0 |
if $nvHash |
|
988
|
0 |
0 |
if ($nvHash) |
|
996
|
0 |
4746 |
if ($oldFormat == 13 || $oldFormat == 18 and not $oldInfo && $oldInfo->{'SubIFD'}) |
|
1003
|
4746 |
0 |
if ($oldInfo) |
|
1005
|
0 |
4746 |
if ($oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'} and not $Image::ExifTool::Exif::intFormat{$oldFormName}) |
|
1011
|
4 |
0 |
if ($oldInfo->{'Drop'} and $et->{'DropTags'} and $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize) |
|
1016
|
289 |
4453 |
if ($oldInfo->{'Format'}) |
|
1019
|
0 |
289 |
unless ($readFormat) |
|
1024
|
0 |
289 |
if ($oldInfo->{'FixedSize'}) |
|
1025
|
0 |
0 |
if $oldInfo->{'FixedSize'} |
|
1032
|
0 |
4742 |
if ($oldID <= $lastTagID and not $inMakerNotes || $et->IsRawType) |
|
1033
|
0 |
0 |
$oldInfo ? : |
|
1034
|
0 |
0 |
if ($oldID == $lastTagID) { } |
|
1037
|
0 |
0 |
if defined $set{$oldID} |
|
1053
|
2222 |
4901 |
if (not defined $oldID) { } |
|
|
3256 |
1645 |
elsif (not defined $newID) { } |
|
1054
|
379 |
1843 |
unless defined $newID |
|
1058
|
35 |
3221 |
if (defined $set{$oldID}) { } |
|
1067
|
0 |
1645 |
if ($unsorted and $isNew) |
|
1068
|
0 |
0 |
if ($isNew > 0 and $hasOldID{$newID}) |
|
1073
|
0 |
0 |
if ($isNew < 0 and $hasNewID{$oldID}) |
|
1090
|
2285 |
4459 |
$isNew >= 0 ? : |
|
1093
|
2285 |
4459 |
if ($isNew >= 0) |
|
1097
|
110 |
70 |
unless ($curInfo or $addDirs->{$newID}) |
|
1102
|
24 |
86 |
if (defined $curInfo and not $curInfo) |
|
1107
|
535 |
24 |
unless $tagInfo->{'TagID'} == $newID |
|
1109
|
0 |
24 |
unless defined $val |
|
1112
|
23 |
1 |
if ($fmt) |
|
1114
|
0 |
23 |
unless defined $val |
|
1117
|
24 |
0 |
if ($curInfo) |
|
1118
|
21 |
3 |
if $curInfo eq $tagInfo |
|
1123
|
3 |
21 |
unless $curInfo |
|
1126
|
83 |
27 |
if ($curInfo and $et->{'NEW_VALUE'}{$curInfo}) { } |
|
1129
|
26 |
1 |
if $isNew > 0 |
|
1134
|
2188 |
71 |
if ($curInfo) { } |
|
|
1 |
70 |
elsif (not $addDirs->{$newID}) { } |
|
1135
|
6 |
2182 |
if ($curInfo->{'WriteCondition'}) |
|
1138
|
0 |
6 |
unless (eval $curInfo->{'WriteCondition'}) |
|
1139
|
0 |
0 |
if $@ |
|
1144
|
2188 |
0 |
if $isNew >= 0 |
|
1145
|
1099 |
1089 |
unless ($nvHash or defined $mandatory->{$newID}) |
|
1146
|
435 |
664 |
unless $wrongDir |
|
1150
|
28 |
636 |
unless $et->IsOverwriting($nvHash) |
|
1154
|
2 |
634 |
if (not defined $nvHash->{'Value'} and $nvHash->{'WantGroup'} and lc $nvHash->{'WantGroup'} eq lc $wrongDir) { } |
|
1164
|
463 |
3 |
if $isNew > 0 |
|
1168
|
1723 |
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}) { } |
|
1176
|
1473 |
250 |
if ($isNew > 0) { } |
|
|
241 |
9 |
elsif ($nvHash or $xDelete{$newID}) { } |
|
1178
|
601 |
872 |
if ($nvHash) { } |
|
1179
|
83 |
518 |
unless $nvHash->{'IsCreating'} |
|
1180
|
1 |
517 |
if ($newInfo->{'IsOverwriting'}) { } |
|
1187
|
631 |
241 |
if $xDelete{$newID} |
|
1192
|
72 |
687 |
if ($newInfo->{'Format'}) { } |
|
1198
|
0 |
687 |
unless ($newFormName) |
|
1205
|
3 |
238 |
unless ($nvHash) |
|
1209
|
241 |
0 |
if (length $oldValue >= $oldSize) { } |
|
1217
|
2 |
239 |
unless $writable and $writable ne 1 |
|
1220
|
8 |
233 |
if ($writeForm ne $newFormName) |
|
1225
|
2 |
6 |
if ($inMakerNotes) { } |
|
|
2 |
4 |
elsif ($writable ne $newFormName) { } |
|
1233
|
26 |
9 |
if ($inMakerNotes and $readFormName ne "string" and $readFormName ne "undef") |
|
1237
|
1 |
240 |
if ($newInfo->{'IsOverwriting'}) { } |
|
1244
|
994 |
15 |
if ($isOverwriting) { } |
|
1245
|
751 |
243 |
unless defined $newVal |
|
1248
|
22 |
972 |
if (not defined $newVal or $xDelete{$newID} and not defined $nvHash->{'Shift'}) |
|
1249
|
0 |
20 |
if (not defined $newVal and $newInfo->{'RawConvInv'} and defined $nvHash->{'Value'}) |
|
1253
|
22 |
0 |
unless ($isNew) |
|
1259
|
19 |
953 |
if ($newCount and $newCount < 0) |
|
1266
|
0 |
972 |
unless (defined $newValue) |
|
1270
|
972 |
0 |
if (length $newValue) { } |
|
1273
|
0 |
751 |
if ($et->{'FILE_TYPE'} eq "JPEG" and length $newValue > 65436 and $newInfo->{'Name'} ne "PreviewImage") |
|
1276
|
0 |
0 |
$newInfo->{'MakerNotes'} ? : |
|
1280
|
1 |
971 |
if ($strEnc and $newFormName eq "string") |
|
1287
|
972 |
0 |
if ($isNew >= 0) |
|
1290
|
227 |
745 |
if (defined $allMandatory) |
|
1292
|
80 |
147 |
if ($nvHash) { } |
|
1299
|
13 |
959 |
if ($verbose > 1) |
|
1300
|
0 |
13 |
unless $isNew |
|
1301
|
0 |
13 |
if ($newInfo->{'OffsetPair'} and $newVal eq '4277010157') { } |
|
1304
|
8 |
5 |
$nvHash ? : |
|
1310
|
0 |
15 |
if $isNew > 0 |
|
1314
|
75 |
912 |
if ($ifdFormName) |
|
1325
|
0 |
40 |
unless $newInfo = $addDirs->{$newID} |
|
1328
|
0 |
40 |
if $newInfo->{'MakerNotes'} or $newInfo->{'Name'} eq "SubIFD" |
|
1330
|
13 |
27 |
if ($newInfo->{'SubDirectory'}{'TagTable'}) { } |
|
1340
|
36 |
4 |
if $newInfo->{'SubIFD'} |
|
1343
|
2 |
38 |
unless defined $newValue and length $newValue |
|
1345
|
34 |
4 |
if ($newInfo->{'SubIFD'}) { } |
|
1363
|
0 |
4 |
unless ($newFormName and $Image::ExifTool::Exif::formatNumber{$newFormName}) |
|
1379
|
4477 |
1040 |
if ($isNew < 0) |
|
1387
|
0 |
4477 |
if ($oldImageData) |
|
1393
|
5517 |
0 |
if ($newInfo) |
|
1397
|
8 |
5509 |
if ($newInfo->{'DataTag'} and $isNew >= 0) |
|
1400
|
4 |
4 |
unless (defined $offsetData{$dataTag} or $dataTag eq "LeicaTrailer") |
|
1406
|
4 |
0 |
if (defined $offsetData{$dataTag}) { } |
|
1408
|
2 |
2 |
if ($dataTag eq "PreviewImage") |
|
1410
|
2 |
0 |
if $len <= 4 |
|
1415
|
0 |
4 |
if ($err) |
|
1416
|
0 |
0 |
if $newInfo->{'IsOffset'} |
|
1425
|
43 |
5474 |
if ($newInfo->{'MakerNotes'}) { } |
|
|
442 |
5032 |
elsif ($newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting and !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'} and not $newInfo->{'ReadFromRAF'}) { } |
|
|
158 |
4874 |
elsif ($newInfo->{'OffsetPair'}) { } |
|
|
272 |
4602 |
elsif ($newInfo->{'DataMember'}) { } |
|
1427
|
1 |
0 |
if ($et->{'DEL_GROUP'}{'MakerNotes'} and $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0) |
|
1430
|
0 |
1 |
if ($et->IsRawType) { } |
|
1433
|
1 |
0 |
if ($isNew <= 0) |
|
1435
|
0 |
1 |
if $verbose |
|
1441
|
7 |
35 |
if ($isNew >= 0 and defined $set{$newID}) { } |
|
1445
|
6 |
1 |
if ($nvHash and $nvHash->{'MAKER_NOTE_FIXUP'}) |
|
1468
|
35 |
0 |
if ($newInfo->{'SubDirectory'}) |
|
1470
|
4 |
31 |
if $sub->{'FixBase'} |
|
1473
|
5 |
30 |
if defined $sub->{'Base'} |
|
1475
|
34 |
1 |
if $sub->{'ByteOrder'} |
|
1478
|
35 |
0 |
if ($oldInfo and $oldInfo->{'SubDirectory'}) { } |
|
1480
|
35 |
0 |
if $subTable |
|
1486
|
35 |
0 |
if $subTable |
|
1487
|
0 |
35 |
unless $subTable |
|
1488
|
0 |
35 |
if ($writeProc and $writeProc eq \&Image::ExifTool::MakerNotes::WriteUnknownOrPreview and $oldValue =~ /^\xff\xd8\xff/) { } |
|
|
33 |
2 |
elsif (not $notIFD) { } |
|
1497
|
33 |
2 |
if (defined $loc) { } |
|
|
1 |
1 |
elsif ($subTable->{'PROCESS_PROC'} and $subTable->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData) { } |
|
|
1 |
0 |
elsif ($notIFD) { } |
|
1503
|
1 |
32 |
if ($changed == $et->{'CHANGED'} and $subdirInfo{'Fixup'}->IsEmpty) |
|
1511
|
1 |
0 |
if (defined $sub->{'Start'}) { } |
|
1523
|
1 |
0 |
if ($writeProc) |
|
1529
|
0 |
0 |
if ($et->{'FILE_TYPE'} eq 'JPEG') { } |
|
1535
|
34 |
1 |
if (defined $subdir) |
|
1536
|
0 |
34 |
unless length $subdir |
|
1543
|
5 |
29 |
if ($subdirInfo{'Relative'}) { } |
|
|
29 |
0 |
elsif (not defined $subdirInfo{'Relative'}) { } |
|
1550
|
1 |
4 |
if ($previewInfo) |
|
1553
|
1 |
1 |
unless /_PreviewImage$/ |
|
1570
|
1 |
28 |
if ($subdirInfo{'AutoFix'}) { } |
|
|
0 |
28 |
elsif ($subdirInfo{'FixBase'} and $baseShift < 0 and !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0) { } |
|
1577
|
0 |
0 |
if (not defined $fixBase) { } |
|
|
0 |
0 |
elsif ($fixBase eq '') { } |
|
1578
|
0 |
0 |
$et->Options('IgnoreMinorErrors') ? : |
|
1590
|
4 |
25 |
if ($previewInfo and not $previewInfo->{'NoBaseShift'}) |
|
1607
|
106 |
336 |
if ($newInfo->{'SubIFD'}) { } |
|
|
336 |
0 |
elsif (!defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/ and $subdir->{'TagTable'}) { } |
|
1612
|
15 |
91 |
if ($subdir->{'TagTable'}) |
|
1618
|
8 |
98 |
if $subTable->{'GROUPS'}{'0'} eq "MakerNotes" |
|
1621
|
0 |
106 |
unless ($readCount) |
|
1622
|
0 |
0 |
if $et->Error("$name entry $index has zero count", 2) |
|
1635
|
109 |
0 |
if (defined $subdir->{'Start'}) |
|
1638
|
0 |
109 |
unless (&Image::ExifTool::IsInt($newStart)) |
|
1646
|
0 |
109 |
if ($subdir->{'Base'}) |
|
1652
|
3 |
106 |
if $i |
|
1661
|
67 |
42 |
$imageDataFlag eq 'Main' ? : |
|
1670
|
55 |
54 |
if $newInfo->{'SubIFD'} == 2 |
|
1671
|
0 |
109 |
if ($subdir->{'RelativeBase'}) |
|
1677
|
15 |
94 |
if ($subdirStart < 0 or $subdirStart + 2 > $dataLen) |
|
1678
|
15 |
0 |
if ($raf) { } |
|
1685
|
0 |
0 |
if ($subTable->{'VARS'} and $subTable->{'VARS'}{'MINOR_ERRORS'}) { } |
|
|
0 |
0 |
elsif ($et->Error(@err)) { } |
|
1694
|
0 |
109 |
unless (defined $subdirData) |
|
1696
|
0 |
0 |
unless $et->{'VALUE'}{'Error'} |
|
1700
|
0 |
0 |
if ($hdrLen and $hdrLen > 0 and $subdirStart <= $dataLen) |
|
1704
|
6 |
103 |
unless (length $subdirData) |
|
1705
|
6 |
0 |
unless $inMakerNotes |
|
1713
|
4 |
99 |
if (ref $subdirInfo{'ImageData'}) |
|
1721
|
5 |
98 |
if ($readCount > 1) { } |
|
1739
|
6 |
100 |
unless length $newValue |
|
1742
|
0 |
100 |
if ($writeCount < $readCount and $writeCount == 1) |
|
1760
|
4 |
332 |
if ($subdir->{'Start'}) |
|
1767
|
1 |
335 |
if ($subdir->{'Base'}) |
|
1786
|
0 |
336 |
unless ($oldSize) |
|
1797
|
22 |
314 |
if $subdir->{'ByteOrder'} |
|
1800
|
274 |
62 |
if (defined $newValue) { } |
|
1802
|
3 |
271 |
if ($hdrLen) |
|
1810
|
1 |
335 |
unless (length $$newValuePt) |
|
1812
|
1 |
0 |
if $oldSize or not $inMakerNotes |
|
1814
|
5 |
330 |
if ($subFixup->{'Pointers'} and $subdirInfo{'Base'} == $base) { } |
|
1828
|
10 |
148 |
if ($dataTag eq 'CanonVRD') { } |
|
|
7 |
141 |
elsif ($dataTag eq 'OriginalDecisionData') { } |
|
1831
|
1 |
9 |
if ($et->{'NEW_VALUE'}{$Image::ExifTool::Extra{'CanonVRD'}}) { } |
|
|
0 |
9 |
elsif ($et->{'DEL_GROUP'}{'CanonVRD'} or $et->{'DEL_GROUP'}{'Trailer'}) { } |
|
1833
|
1 |
0 |
$et->GetNewValue('CanonVRD') ? : |
|
1841
|
1 |
9 |
if ($hasVRD) { } |
|
1855
|
1 |
6 |
if ($oddInfo and $et->{'NEW_VALUE'}{$oddInfo}) { } |
|
|
1 |
5 |
elsif ($$newValuePt ne "\000\000\000\000") { } |
|
1857
|
0 |
1 |
if ($verbose > 1) |
|
1858
|
0 |
0 |
if $$newValuePt ne "\0\0\0\0" |
|
1859
|
0 |
0 |
if $odd |
|
1863
|
1 |
0 |
if (length $$newValuePt == 4) { } |
|
1867
|
0 |
1 |
unless $et->{'FILE_TYPE'} eq "JPEG" |
|
1869
|
1 |
0 |
if ref $odd |
|
1874
|
2 |
5 |
if ($odd) { } |
|
1877
|
1 |
1 |
if $et->{'FILE_TYPE'} eq "JPEG" |
|
1889
|
137 |
4 |
if ($isNew <= 0) |
|
1892
|
0 |
137 |
if $newInfo->{'ByteOrder'} |
|
1895
|
68 |
69 |
unless $newInfo->{'IsOffset'} |
|
1898
|
0 |
0 |
if ($Image::ExifTool::Exif::formatSize[$newFormat] != 4 and $newInfo->{'IsOffset'}) |
|
1899
|
0 |
0 |
if $isNew > 0 |
|
1900
|
0 |
0 |
if $newCount != $readCount |
|
1905
|
0 |
0 |
unless (defined $newValue) |
|
1911
|
70 |
71 |
unless $offsetInfo |
|
1916
|
0 |
141 |
unless $newCount |
|
1927
|
0 |
272 |
if ($newInfo->{'Format'} and $newInfo->{'Format'} ne $formatStr) |
|
1931
|
0 |
0 |
if $format |
|
1935
|
272 |
0 |
if ($conv) { } |
|
1937
|
0 |
272 |
if (ref $conv eq 'CODE') { } |
|
1957
|
5509 |
0 |
unless $oldInfo and $oldInfo->{'FixedSize'} |
|
1958
|
153 |
5356 |
if ($Image::ExifTool::Exif::saveForValidate{$newID} and $tagTablePtr eq \%Image::ExifTool::Exif::Main) |
|
1962
|
2511 |
2998 |
if ($newSize > 4) { } |
|
1970
|
5 |
2506 |
if ($dirInfo->{'EntryBased'} or $newInfo and $newInfo->{'EntryBased'}) { } |
|
1977
|
2511 |
0 |
if $newInfo |
|
1978
|
2 |
2509 |
if ($dataTag) |
|
1979
|
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'}) { } |
|
1984
|
1 |
0 |
unless $et->{'PREVIEW_INFO'} |
|
1987
|
0 |
1 |
if $newInfo->{'ChangeBase'} |
|
1988
|
0 |
1 |
if ($newInfo->{'IsOffset'} and $newInfo->{'IsOffset'} eq 2) |
|
1992
|
0 |
1 |
if $$newValuePt eq "LOAD_PREVIEW" |
|
1998
|
1 |
2510 |
if ($putFirst and $dirInfo->{'HeaderPtr'}) { } |
|
2006
|
5 |
2505 |
if ($entryBased) { } |
|
2007
|
1 |
4 |
unless $entryBasedFixup |
|
2016
|
1940 |
1058 |
if $newSize < 4 |
|
2023
|
289 |
186 |
if (defined $mandatory->{$newID}) |
|
2027
|
280 |
9 |
if (defined $mandVal and $mandVal eq $$newValuePt) |
|
2036
|
80 |
299 |
if (%validateInfo) |
|
2040
|
0 |
379 |
if ($ignoreCount) |
|
2041
|
0 |
0 |
$ignoreCount > 1 ? : |
|
2042
|
0 |
0 |
$dirInfo->{'FixBase'} ? : |
|
2045
|
0 |
379 |
if ($fixCount) |
|
2046
|
0 |
0 |
$fixCount > 1 ? : |
|
2054
|
292 |
87 |
if ($dirEnd + 4 <= $dataLen) { } |
|
2068
|
14 |
3 |
if ($allMandatory and not $isNextIFD and $newEntries < $numEntries || $numEntries == 0) |
|
2073
|
13 |
1 |
if defined $deleteAll |
|
2074
|
0 |
14 |
if $verbose > 1 |
|
2077
|
1 |
378 |
if ($ifd and not $newEntries) |
|
2078
|
0 |
1 |
if $verbose |
|
2082
|
1 |
377 |
if ($entryBasedFixup) |
|
2090
|
56 |
322 |
if ($dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/) |
|
2092
|
13 |
43 |
if defined $pad and $pad == 0 || $pad > 4 && $pad <= 32 |
|
2099
|
47 |
331 |
if ($nextIfdPos) |
|
2105
|
371 |
7 |
length $nextIFD ? : |
|
2111
|
120 |
258 |
if (@subdirs) |
|
2116
|
137 |
0 |
if ($subdirFixup) |
|
2123
|
4 |
133 |
if (ref $imageData) |
|
2127
|
4 |
0 |
if ($subFix) |
|
2141
|
5 |
132 |
if $subdir->{'Where'} eq "valBuff" |
|
2144
|
0 |
137 |
unless (&Get32u(\$newData, $offset) == 4277006349) |
|
2155
|
365 |
13 |
if ($dirFixup) |
|
2167
|
329 |
49 |
unless $isNextIFD |
|
2168
|
42 |
7 |
if ($nextIfdOffset) { } |
|
2173
|
0 |
7 |
if $verbose |
|
2180
|
49 |
0 |
$dirName =~ s/(\d+)$// ? : |
|
2185
|
7 |
42 |
unless $nextIfdOffset |
|
2189
|
0 |
42 |
if ($et->{'PROCESSED'}{$addr}) |
|
2195
|
0 |
42 |
if ($dirName eq "SubIFD1" and not &ValidateIFD($dirInfo, $dirStart)) |
|
2196
|
0 |
0 |
if ($et->{'TIFF_TYPE'} eq 'TIFF') { } |
|
|
0 |
0 |
elsif ($verbose) { } |
|
2203
|
1 |
41 |
if ($et->{'DEL_GROUP'}{$dirName}) { } |
|
2204
|
0 |
1 |
if $verbose |
|
2205
|
0 |
1 |
if $raf |
|
2208
|
0 |
1 |
if ($et->{'DEL_GROUP'}{$dirName} == 2 and $et->{'ADD_DIRS'}{$dirName}) { } |
|
2219
|
0 |
41 |
if $verbose |
|
2239
|
60 |
271 |
if (@offsetInfo) |
|
2245
|
102 |
60 |
if ($ifd >= 0) { } |
|
2246
|
32 |
70 |
unless my $offsetInfo = $offsetInfo[$ifd] |
|
2247
|
0 |
23 |
if ($offsetInfo->{'273'} and $offsetInfo->{'324'}) |
|
2250
|
0 |
0 |
if ($dirName eq 'SubIFD' and $et->{'TIFF_TYPE'} eq 'ARW' and $offsetInfo->{'279'} and $offsetInfo->{'325'} and $offsetInfo->{'273'}[2] == 1) { } |
|
2269
|
1 |
0 |
if ($stripOffsets and $stripOffsets->[0]{'PanasonicHack'} or $rawDataOffset and $rawDataOffset->[0]{'PanasonicHack'}) |
|
2274
|
0 |
1 |
if $err |
|
2281
|
70 |
70 |
unless $tagInfo->{'IsOffset'} |
|
2283
|
0 |
70 |
unless $sizeInfo |
|
2286
|
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}) { } |
|
2301
|
43 |
17 |
unless @writeLater |
|
2310
|
0 |
70 |
unless ($count == $count2) |
|
2316
|
0 |
70 |
if $count > 1 |
|
2318
|
0 |
70 |
if $n > 4 |
|
2319
|
0 |
70 |
if ($byteCounts < 0 or $byteCounts + $n > length $newData) |
|
2325
|
2 |
68 |
if ($tagInfo->{'IsOffset'} eq '2') { } |
|
2333
|
0 |
70 |
if ($tagInfo->{'WrongBase'}) { } |
|
2345
|
0 |
70 |
if $tagInfo->{'ByteOrder'} |
|
2349
|
68 |
2 |
if (@$oldOffset and @$oldSize) |
|
2357
|
1 |
69 |
if ($tagInfo->{'PanasonicHack'}) { } |
|
2365
|
68 |
2 |
if (defined $offset) { } |
|
|
0 |
2 |
elsif ($size != 4277010157) { } |
|
2374
|
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') { } |
|
2375
|
0 |
4 |
unless (defined $dataTag) |
|
2379
|
0 |
4 |
unless (defined $offsetData{$dataTag}) |
|
2383
|
0 |
4 |
if ($count > 1) |
|
2388
|
0 |
4 |
if ($Image::ExifTool::Exif::formatSize[$format] != 4) |
|
2397
|
0 |
24 |
if ($offsetPair->[0][6]) |
|
2398
|
0 |
0 |
if ($count > 1) { } |
|
2403
|
0 |
0 |
if ($padToFixedOffset < 0) { } |
|
2415
|
0 |
0 |
if $blockSize + $size & 1 and $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1] |
|
2418
|
0 |
0 |
if ($origDirInfo->{'PreserveImagePadding'} and $n + 1 < $count and $oldEnd and $$oldOffset[$n + 1] > $oldEnd) |
|
2427
|
4 |
20 |
if ($imageDataFlag eq "SubIFD" and not $subIfdDataFixup) |
|
2440
|
0 |
0 |
$n & 3 ? : |
|
2443
|
0 |
0 |
unless defined $ttwLen |
|
2450
|
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/) |
|
2455
|
0 |
0 |
if ($pos < 65536 and $raf->Seek($pos + 65536, 0) and $raf->Read($try, $size) == $size and $try =~ /^\xff\xd8\xff/) { } |
|
2470
|
0 |
0 |
unless (&WriteValue($size, $formatStr, 1, \$newData, $byteCountPos)) |
|
2479
|
1 |
0 |
if ($r and not $raf) |
|
2482
|
1 |
0 |
unless $r->Seek($offset + $base + $dataPos, 0) and $r->Read($buff, $size) == $size and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/s |
|
2485
|
0 |
1 |
unless $r->Seek($tell, 0) |
|
2488
|
1 |
0 |
unless defined $buff |
|
2491
|
0 |
0 |
if $et->Error("Error reading $dataName data in $name", $inMakerNotes) |
|
2494
|
14 |
56 |
if ($tagInfo->{'Name'} eq "PreviewImageStart") |
|
2495
|
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') { } |
|
2498
|
7 |
1 |
unless $et->{'PREVIEW_INFO'} |
|
2501
|
2 |
6 |
if ($tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} eq 2) |
|
2504
|
7 |
1 |
if ($offset >= 0 and $offset + $size <= $dataLen) |
|
2512
|
0 |
0 |
if $et->{'A100PreviewLength'} |
|
2513
|
0 |
0 |
if defined $buff |
|
2521
|
4 |
66 |
if $subIfdDataFixup |
|
2525
|
0 |
70 |
if ($otherPos) |
|
2526
|
0 |
0 |
if ($tagInfo->{'PanasonicHack'}) { } |
|
|
0 |
0 |
elsif (ref $otherPos eq 'ARRAY') { } |
|
2536
|
0 |
0 |
if $count > 1 |
|
2542
|
0 |
0 |
if $subIfdDataFixup |
|
2546
|
46 |
24 |
if ($ifd >= 0) { } |
|
2548
|
1 |
45 |
if length $buff & 1 |
|
2558
|
0 |
60 |
if (defined $ttwLen and $ttwLen != length $newData) |
|
2568
|
0 |
28 |
if (defined $entry) |
|
2570
|
0 |
0 |
if ($format < 1 or $format > 13) { } |
|
2579
|
0 |
0 |
if ($imageDataFlag eq "SubIFD") |
|
2590
|
4 |
4 |
if ($subFix and defined $subFix->{'BlockLen'} and $numBlocks > 0) |
|
2603
|
124 |
207 |
unless ($dirInfo->{'Fixup'}) |
|
2605
|
121 |
3 |
$hdrPtr ? : |
|
2612
|
124 |
0 |
if ($newDataPos) |
|
2617
|
0 |
124 |
if $et->{'LeicaTrailer'} |
|
2620
|
6 |
118 |
if ($previewInfo) { } |
|
|
6 |
112 |
elsif (defined $newData and $deleteAll) { } |
|
|
0 |
112 |
elsif ($et->{'A100PreviewLength'}) { } |
|
2624
|
5 |
1 |
if ($$pt ne 'LOAD_PREVIEW' and length($$pt) + length($newData) + 14 <= 65533 and not $previewInfo->{'IsTrailer'} or $previewInfo->{'IsShort'}) { } |
|
2632
|
0 |
5 |
if ($previewInfo->{'Relative'}) |
|
2639
|
0 |
5 |
unless $et->{'PREVIEW_INFO'}{'WasContained'} |
|
2644
|
0 |
1 |
unless $previewInfo->{'Fixup'} |
|
2654
|
6 |
118 |
if ($newDataPos == 16) |
|
2660
|
0 |
124 |
if ($key) |
|
2664
|
0 |
0 |
if ($start and $start - 8 + $len <= length $newData) |
|
2672
|
13 |
318 |
if defined $newData and length $newData < 12 |
|
2675
|
0 |
318 |
if defined $newData and length $newData and $et->{'FORCE_WRITE'}{'EXIF'} |