line |
true |
false |
branch |
87
|
0 |
2 |
unless ($code) |
88
|
0 |
0 |
if (($code = $val) =~ s/ESC */\e/gi) { } |
106
|
45 |
250 |
if ($format =~ /^int(\d+)/) { } |
|
250 |
0 |
elsif ($format =~ /^(string|digits|undef)\[?(\d+),?(\d*)\]?$/) { } |
108
|
0 |
45 |
if ($bytes != 1 and $bytes != 2 and $bytes != 4) |
112
|
4 |
41 |
unless (&Image::ExifTool::IsInt($val)) |
113
|
4 |
0 |
unless &Image::ExifTool::IsHex($val) |
118
|
0 |
41 |
if $val |
122
|
25 |
225 |
if ($fmt eq "digits") |
123
|
0 |
25 |
unless $$valPtr =~ /^\d*$/ |
124
|
3 |
22 |
if ($len < $minlen and $len) |
130
|
25 |
225 |
if (defined $minlen and $fmt ne "string") |
131
|
25 |
0 |
unless $maxlen |
132
|
0 |
25 |
if ($len < $minlen) { } |
|
0 |
50 |
elsif ($len > $maxlen and not $et->{'OPTIONS'}{'IgnoreMinorErrors'}) { } |
133
|
0 |
0 |
unless ($et->{'OPTIONS'}{'IgnoreMinorErrors'}) |
158
|
0 |
314 |
unless $format |
159
|
41 |
273 |
if ($format =~ /^int(\d+)/) { } |
|
252 |
21 |
elsif ($format =~ /^string/) { } |
160
|
6 |
35 |
if ($read) { } |
162
|
6 |
0 |
if ($len <= 8) |
172
|
0 |
35 |
if ($len == 1) { } |
|
33 |
2 |
elsif ($len == 2) { } |
181
|
2 |
250 |
if ($rec == 1) { } |
|
1 |
249 |
elsif ($$xlatPtr and $rec < 7 and $$valPtr =~ /[\x80-\xff]/) { } |
182
|
2 |
0 |
if ($tagInfo->{'Name'} eq "CodedCharacterSet") |
189
|
165 |
87 |
if (not $read and $format =~ /^string\[(\d+),?(\d*)\]$/) |
192
|
1 |
164 |
unless $maxlen |
193
|
0 |
165 |
if ($len < $minlen) { } |
|
2 |
163 |
elsif ($len > $maxlen) { } |
194
|
0 |
0 |
if ($et->Warn("String too short for IPTC:$tagInfo->{'Name'} (padded)", 2)) |
198
|
2 |
0 |
if ($et->Warn("IPTC:$tagInfo->{'Name'} exceeds length limit (truncated)", 2)) |
201
|
1 |
1 |
if (($$xlatPtr || $et->Options('Charset')) eq "UTF8") |
218
|
0 |
12 |
unless ($val =~ s[^.*(\d{4})[-:/.]?(\d{2})[-:/.]?(\d{2}).*][$1$2$3]s) |
232
|
1 |
0 |
if ($val =~ /(.*?)\b(\d{1,2})(:?)(\d{2})(:?)(\d{2})(\S*)\s*$/s and $3 || !$5) { } |
235
|
1 |
0 |
if ($tz =~ /([+-]\d{1,2}):?(\d{2})/) { } |
|
0 |
0 |
elsif ($tz =~ /Z/i) { } |
242
|
0 |
0 |
if ($date and $date =~ /^(\d{4}):(\d{2}):(\d{2})\s*$/ and eval {
do {
require Time::Local
}
}) { } |
274
|
0 |
11 |
if lc $val eq "now" |
285
|
0 |
0 |
if ($val eq "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") { } |
|
0 |
0 |
elsif (length $val >= 16) { } |
291
|
0 |
0 |
if $manu |
312
|
0 |
0 |
if (@vals >= 4) { } |
|
0 |
0 |
elsif ($val =~ /unknown/i) { } |
337
|
25 |
0 |
unless (exists $et->{'EDIT_DIRS'}{$dirInfo->{'DirName'}} or $tagTablePtr eq \%Image::ExifTool::IPTC::Main and exists $et->{'EDIT_DIRS'}{'IPTC'}) |
341
|
0 |
25 |
if $verbose |
345
|
22 |
18 |
unless ($dataPt) |
355
|
1 |
39 |
if $xlat eq $et->Options("Charset") |
358
|
22 |
18 |
unless (defined $dirLen) |
360
|
22 |
0 |
unless defined $dataLen |
364
|
0 |
17 |
if ($dirLen >= 4 and substr($$dataPt, $start, 1) ne "\34" and substr($$dataPt, $start + 3, 1) eq "\34") |
377
|
0 |
268 |
unless $tagInfo->{'SubDirectory'} |
378
|
0 |
268 |
unless my $table = $tagInfo->{'SubDirectory'}{'TagTable'} |
389
|
2081 |
170 |
unless defined $record |
390
|
44 |
126 |
unless defined $iptcInfo{$record} |
423
|
248 |
39 |
if ($pos + 5 <= $dirEnd) |
426
|
247 |
1 |
if ($id == 28) { } |
427
|
0 |
247 |
if ($rec < $lastRec) |
428
|
0 |
0 |
if ($rec == 0) { } |
429
|
0 |
0 |
if $et->Warn("IPTC record 0 encountered, subsequent records ignored", 2) |
434
|
0 |
0 |
if $et->Warn("IPTC doesn't conform to spec: Records out of sequence", 2) |
439
|
0 |
247 |
if ($len & 32768) |
441
|
0 |
0 |
if ($pos + $n <= $dirEnd and $n <= 8) { } |
454
|
0 |
247 |
if $pos > $dirEnd |
461
|
127 |
160 |
if ($writeRec or $addNow) |
464
|
72 |
228 |
if ($addNow) { } |
|
84 |
144 |
elsif (not defined $newRec or $newRec != $lastRec) { } |
468
|
44 |
40 |
if (length $newData > $lastRecPos) |
469
|
3 |
41 |
if ($allMandatory > 1) { } |
|
39 |
2 |
elsif ($mandatory{$lastRec} and $tagTablePtr eq \%Image::ExifTool::IPTC::Main) { } |
476
|
0 |
6 |
if $code & 4 |
477
|
3 |
3 |
if ($code & 3) == 1 |
479
|
3 |
0 |
if ($num) |
481
|
0 |
3 |
if $verbose > 1 |
490
|
17 |
22 |
if $foundRec{$lastRec}{$mandTag} |
491
|
22 |
0 |
unless ($subTablePtr) |
493
|
0 |
22 |
unless $tagInfo and $tagInfo->{'SubDirectory'} |
494
|
0 |
22 |
unless $tagInfo->{'SubDirectory'}{'TagTable'} |
497
|
0 |
22 |
unless $tagInfo = $subTablePtr->{$mandTag} |
511
|
40 |
44 |
unless defined $newRec |
516
|
188 |
72 |
unless ($addNow) |
520
|
18 |
170 |
if defined $rec and $rec <= $newRec |
528
|
148 |
94 |
if ($found & 2) { } |
|
32 |
62 |
elsif ($tagInfo->{'List'}) { } |
530
|
76 |
72 |
unless $found & 4 |
533
|
2 |
30 |
$found ? : |
|
30 |
2 |
if $found ? !$nvHash->{'CreateOnly'} : $nvHash->{'IsCreating'} |
536
|
61 |
0 |
if not $found and $nvHash->{'IsCreating'} |
538
|
167 |
75 |
if ($doSet) |
540
|
163 |
4 |
if @values |
546
|
40 |
153 |
if ($allMandatory) |
548
|
33 |
7 |
unless $mandatory and $mandatory->{$newTag} |
556
|
193 |
0 |
if ($len <= 32767) { } |
567
|
72 |
170 |
if ($addNow) |
569
|
3 |
69 |
if $writeRec |
574
|
44 |
126 |
unless @{$iptcInfo{$newRec};} |
576
|
58 |
69 |
if ($writeRec) |
578
|
40 |
18 |
unless defined $rec |
589
|
99 |
148 |
if ($tagInfo) { } |
|
0 |
295 |
elsif ($rec == 1 and $tag == 90) { } |
594
|
87 |
12 |
if $tagInfo->{'Format'} and $tagInfo->{'Format'} =~ /^string/ |
597
|
89 |
10 |
if ($et->IsOverwriting($nvHash, $val)) |
604
|
14 |
75 |
if $allMandatory |
606
|
72 |
12 |
if ($nvHash->{'Value'} and @{$nvHash->{'Value'};} and @recordList and $recordList[0] == $rec and not $foundRec{$rec}{$tag} & 4) |
619
|
20 |
138 |
if ($allMandatory) |
621
|
8 |
12 |
unless ($mandatory and $mandatory->{$tag}) |
629
|
4 |
36 |
if ($tail < $dirEnd) |
631
|
0 |
4 |
if ($pad =~ /[^\0]/) |
632
|
0 |
0 |
if $et->Warn("Unrecognized data in IPTC padding", 2) |
646
|
370 |
65 |
unless $et |
654
|
60 |
1 |
unless defined $nvHash |
655
|
0 |
1 |
unless &IsStandardIPTC(scalar $et->MetadataPath) |
657
|
1 |
0 |
if $nvHash->{'DelValue'} |
660
|
0 |
1 |
unless $new or $old |
661
|
0 |
1 |
unless (eval {
do {
require Digest::MD5
}
}) |
666
|
1 |
0 |
if ($new) |
667
|
1 |
0 |
if (defined $newData) { } |
671
|
0 |
0 |
if ($dirInfo->{'DirStart'} or length $$dataPt != $dirInfo->{'DirLen'}) |
677
|
1 |
0 |
if length $$dataPt |
679
|
1 |
0 |
if ($old) |
680
|
0 |
1 |
if ($new and not defined $newData) { } |
|
1 |
0 |
elsif ($dirInfo->{'DataPt'}) { } |
684
|
1 |
0 |
if ($dirInfo->{'DirStart'} or length $$dataPt != $dirInfo->{'DirLen'}) |
688
|
1 |
0 |
if length $$dataPt |
694
|
0 |
38 |
if defined $newData and length $newData and $et->{'FORCE_WRITE'}{'IPTC'} |