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) { } |
339
|
25 |
0 |
unless exists $et->{'EDIT_DIRS'}{$dirInfo->{'DirName'}} or $tagTablePtr eq \%Image::ExifTool::IPTC::Main and exists $et->{'EDIT_DIRS'}{'IPTC'} |
341
|
22 |
18 |
unless ($dataPt) |
351
|
1 |
39 |
if $xlat eq $et->Options("Charset") |
354
|
22 |
18 |
unless (defined $dirLen) |
356
|
22 |
0 |
unless defined $dataLen |
360
|
0 |
17 |
if ($dirLen >= 4 and substr($$dataPt, $start, 1) ne "\34" and substr($$dataPt, $start + 3, 1) eq "\34") |
373
|
0 |
268 |
unless $tagInfo->{'SubDirectory'} |
374
|
0 |
268 |
unless my $table = $tagInfo->{'SubDirectory'}{'TagTable'} |
385
|
2082 |
170 |
unless defined $record |
386
|
44 |
126 |
unless defined $iptcInfo{$record} |
419
|
248 |
39 |
if ($pos + 5 <= $dirEnd) |
422
|
247 |
1 |
if ($id == 28) { } |
423
|
0 |
247 |
if ($rec < $lastRec) |
424
|
0 |
0 |
if ($rec == 0) { } |
425
|
0 |
0 |
if $et->Warn("IPTC record 0 encountered, subsequent records ignored", 2) |
430
|
0 |
0 |
if $et->Warn("IPTC doesn't conform to spec: Records out of sequence", 2) |
435
|
0 |
247 |
if ($len & 32768) |
437
|
0 |
0 |
if ($pos + $n <= $dirEnd and $n <= 8) { } |
450
|
0 |
247 |
if $pos > $dirEnd |
457
|
127 |
160 |
if ($writeRec or $addNow) |
460
|
72 |
228 |
if ($addNow) { } |
|
84 |
144 |
elsif (not defined $newRec or $newRec != $lastRec) { } |
464
|
44 |
40 |
if (length $newData > $lastRecPos) |
465
|
3 |
41 |
if ($allMandatory > 1) { } |
|
39 |
2 |
elsif ($mandatory{$lastRec} and $tagTablePtr eq \%Image::ExifTool::IPTC::Main) { } |
472
|
0 |
6 |
if $code & 4 |
473
|
3 |
3 |
if ($code & 3) == 1 |
475
|
3 |
0 |
if ($num) |
477
|
0 |
3 |
if $verbose > 1 |
486
|
17 |
22 |
if $foundRec{$lastRec}{$mandTag} |
487
|
22 |
0 |
unless ($subTablePtr) |
489
|
0 |
22 |
unless $tagInfo and $tagInfo->{'SubDirectory'} |
490
|
0 |
22 |
unless $tagInfo->{'SubDirectory'}{'TagTable'} |
493
|
0 |
22 |
unless $tagInfo = $subTablePtr->{$mandTag} |
507
|
40 |
44 |
unless defined $newRec |
512
|
188 |
72 |
unless ($addNow) |
516
|
18 |
170 |
if defined $rec and $rec <= $newRec |
524
|
148 |
94 |
if ($found & 2) { } |
|
32 |
62 |
elsif ($tagInfo->{'List'}) { } |
526
|
76 |
72 |
unless $found & 4 |
529
|
2 |
30 |
$found ? : |
|
30 |
2 |
if $found ? !$nvHash->{'CreateOnly'} : $nvHash->{'IsCreating'} |
532
|
61 |
0 |
if not $found and $nvHash->{'IsCreating'} |
534
|
167 |
75 |
if ($doSet) |
536
|
163 |
4 |
if @values |
542
|
40 |
153 |
if ($allMandatory) |
544
|
33 |
7 |
unless $mandatory and $mandatory->{$newTag} |
552
|
193 |
0 |
if ($len <= 32767) { } |
563
|
72 |
170 |
if ($addNow) |
565
|
3 |
69 |
if $writeRec |
570
|
44 |
126 |
unless @{$iptcInfo{$newRec};} |
572
|
58 |
69 |
if ($writeRec) |
574
|
40 |
18 |
unless defined $rec |
585
|
99 |
148 |
if ($tagInfo) { } |
|
0 |
295 |
elsif ($rec == 1 and $tag == 90) { } |
590
|
87 |
12 |
if $tagInfo->{'Format'} and $tagInfo->{'Format'} =~ /^string/ |
593
|
89 |
10 |
if ($et->IsOverwriting($nvHash, $val)) |
600
|
14 |
75 |
if $allMandatory |
602
|
72 |
12 |
if ($nvHash->{'Value'} and @{$nvHash->{'Value'};} and @recordList and $recordList[0] == $rec and not $foundRec{$rec}{$tag} & 4) |
615
|
20 |
138 |
if ($allMandatory) |
617
|
8 |
12 |
unless ($mandatory and $mandatory->{$tag}) |
625
|
4 |
36 |
if ($tail < $dirEnd) |
627
|
0 |
4 |
if ($pad =~ /[^\0]/) |
628
|
0 |
0 |
if $et->Warn("Unrecognized data in IPTC padding", 2) |
642
|
370 |
65 |
unless $et |
650
|
60 |
1 |
unless defined $nvHash |
651
|
0 |
1 |
unless &IsStandardIPTC(scalar $et->MetadataPath) |
653
|
1 |
0 |
if $nvHash->{'DelValue'} |
656
|
0 |
1 |
unless $new or $old |
657
|
0 |
1 |
unless (eval {
do {
require Digest::MD5
}
}) |
662
|
1 |
0 |
if ($new) |
663
|
1 |
0 |
if (defined $newData) { } |
667
|
0 |
0 |
if ($dirInfo->{'DirStart'} or length $$dataPt != $dirInfo->{'DirLen'}) |
673
|
1 |
0 |
if length $$dataPt |
675
|
1 |
0 |
if ($old) |
676
|
0 |
1 |
if ($new and not defined $newData) { } |
|
1 |
0 |
elsif ($dirInfo->{'DataPt'}) { } |
680
|
1 |
0 |
if ($dirInfo->{'DirStart'} or length $$dataPt != $dirInfo->{'DirLen'}) |
684
|
1 |
0 |
if length $$dataPt |
690
|
0 |
38 |
if defined $newData and length $newData and $et->{'FORCE_WRITE'}{'IPTC'} |