Branch Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
branch 2024 3336 60.6


line true false branch
2314 226 0 unless (defined $str)
2315 0 226 unless defined $Image::ExifTool::evalWarning
2319 206 20 if $str =~ /(.*?) at /s
2380 530 9 if (ref $_[0] and UNIVERSAL::isa($_[0], 'Image::ExifTool')) { }
2416 535 23347 unless (exists $options->{$param})
2419 0 535 if ($fixed) { }
2426 0 59 if (ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand')
2430 17745 6137 unless @_
2432 78 6059 if ($param eq 'Lang') { }
8 6051 elsif ($param eq 'Exclude' and defined $newVal) { }
364 5687 elsif ($param =~ /^Charset/ or $param eq 'IPTCCharset') { }
59 5628 elsif ($param eq 'UserParam') { }
102 5526 elsif ($param eq 'RequestTags') { }
118 5408 elsif ($param =~ /^(IgnoreTags|IgnoreGroups)$/) { }
12 5396 elsif ($param eq 'ListJoin') { }
78 5318 elsif ($param eq 'List') { }
1 5317 elsif ($param eq 'Compact' or $param eq 'XMPShorthand') { }
59 5258 elsif ($param eq 'NoWarning') { }
59 5199 elsif ($param eq 'ImageHashType') { }
59 5140 elsif ($param eq 'StructFormat') { }
59 5081 elsif ($param eq 'ByteUnit') { }
0 5081 elsif ($param eq 'Plot') { }
118 4963 elsif ($param eq 'KeepUTCTime' or $param eq 'SystemTimeRes') { }
0 4963 elsif (lc $param eq 'geodir') { }
2434 0 78 unless defined $newVal
2435 59 19 if ($newVal eq $Image::ExifTool::defaultLang) { }
2441 19 0 if ($langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal")
2444 19 0 if (%$xlat)
2453 7 1 if (ref $newVal eq 'ARRAY') { }
2462 245 119 if ($newVal) { }
119 0 elsif ($param eq 'CharsetEXIF' or $param eq 'CharsetFileName' or $param eq 'CharsetRIFF') { }
0 0 elsif ($param eq 'CharsetQuickTime') { }
2464 245 0 if ($charset) { }
2467 1 244 if $param eq "IPTCCharset"
2480 0 59 unless defined $newVal
2483 59 0 if (ref $newVal eq "HASH")
2496 0 0 if ($newVal =~ /(.*?)=(.*)/s) { }
2499 0 0 if $paramName =~ s/\^$//
2508 0 0 if (defined $newVal)
2509 0 0 if (length $newVal or $force) { }
2517 0 0 unless $param =~ s/#$//
2521 43 59 if (defined $newVal) { }
2523 43 0 ref $newVal eq 'ARRAY' ? :
2526 43 0 unless $options->{$param}
2528 0 65 unless /^(.*:)?([-\w?*]*)#?$/
2529 65 0 if $2
2530 65 0 unless $1
2538 0 118 if (defined $newVal) { }
2539 0 0 if ref $newVal eq "HASH"
2541 0 0 ref $newVal eq 'ARRAY' ? :
2542 0 0 if $param eq "IgnoreTags"
2544 0 0 unless $options->{$param}
2546 0 0 unless /^(.*:)?([-\w?*]+)#?$/
2555 4 8 if (defined $newVal) { }
2565 78 0 $newVal ? :
2571 0 2 if ref $newVal eq "HASH"
2572 1 1 $param eq $p ? :
2573 1 1 if (defined $val)
2575 0 1 $p eq 'Compact' ? :
2577 0 1 unless my $set = $$opt{lc $_}
2578 1 0 unless ref $set
2588 0 59 if (defined $newVal)
2591 0 0 if $@
2593 0 59 if ($Image::ExifTool::evalWarning)
2598 0 59 if ($plus and defined $oldVal)
2599 0 0 defined $newVal ? :
2603 0 59 if (not defined $newVal) { }
59 0 elsif ($newVal =~ /^(MD5|SHA256|SHA512)$/i) { }
2611 0 59 if (defined $newVal)
2612 0 0 unless $newVal =~ /^(JSON|JSONQ)$/i
2617 59 0 if (defined $newVal) { }
2619 0 0 $newVal =~ /^I|B/i ? :
59 0 $newVal =~ /^S|M/i ? :
2620 0 59 unless $goodVal
2627 0 0 if defined $oldVal and defined $newVal
2634 65 4898 if ($param eq 'Escape') { }
60 4838 elsif ($param eq 'GlobalTimeShift') { }
0 4838 elsif ($param eq 'TimeZone' and defined $newVal and length $newVal) { }
60 4778 elsif ($param eq 'Validate') { }
2636 0 65 if (defined $newVal and $newVal eq 'XML') { }
5 60 elsif (defined $newVal and $newVal eq 'HTML') { }
2651 0 0 if ($^O eq 'MSWin32') { }
2652 0 0 if (eval { do { require Time::Piece } }) { }
2662 1 59 if $newVal
2688 0 508 if (%Image::ExifTool::UserDefined::Options)
2713 2 550 if (ref $_[1] eq 'HASH' and $_[1]{'ReEntry'} and ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB') { }
2730 1 538 if (defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'})
2734 0 12 if $options->{'HtmlDump'}
2736 1 11 if $req->{'validate'}
2737 11 1 if (defined $_[0])
2746 0 550 if ($self->Options("PrintCSV"))
2759 61 489 if $req->{'now'} or $reqAll
2760 61 489 if $req->{'newguid'} or $reqAll
2762 61 489 if $req->{'filesequence'} or $reqAll
2764 61 489 if ($req->{'processingtime'} or $reqAll)
2766 0 0 if (not @startTime and $req->{'processingtime'})
2772 0 550 if ($req->{'imagedatahash'} and not $self->{'ImageDataHash'})
2774 0 0 if ($imageHashType =~ /^SHA(256|512)$/i) { }
0 0 elsif (require Digest::MD5) { }
2775 0 0 if (require Digest::SHA) { }
2795 505 47 unless ($raf)
2797 505 0 if (defined $filename and $filename ne '') { }
2798 505 0 unless ($filename eq "-")
2800 0 505 if $realname =~ /\|$/
2803 61 444 if ($req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'})
2806 61 0 $name =~ /(.*)\./ ? :
2808 505 0 if defined $dir and length $dir
2809 61 444 if ($req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'})
2814 0 61 if ($^O eq 'MSWin32' and $options->{'WindowsLongPath'}) { }
61 0 elsif (eval { do { require Cwd } }) { }
2819 61 0 if (defined $path) { }
0 0 elsif ($req->{'filepath'}) { }
2820 0 61 if $^O eq "MSWin32"
2827 0 505 if $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2829 0 505 if ($^O eq "MSWin32" and eval { do { require Win32API::File } })
2832 0 0 if ($self->EncodeFileName($zfile)) { }
2837 0 0 unless $wattr == Win32API::File::INVALID_FILE_ATTRIBUTES()
2841 505 0 if ($self->Open(\*EXIFTOOL_FILE, $filename)) { }
0 0 elsif ($self->IsDirectory($filename)) { }
2846 0 505 if $filename eq "-" or $filename =~ /\|$/
2853 0 0 if $self->{'ALT_EXIFTOOL'}
2862 2 550 if ($reEntry) { }
0 550 elsif (not $raf) { }
25 525 elsif (not $raf->{'FILE_PT'}) { }
525 0 elsif (-f $raf->{'FILE_PT'}) { }
2874 0 525 if $^O eq "MSWin32"
2879 0 0 if -p $raf->{'FILE_PT'}
2882 525 27 if defined $stat[7]
2883 0 552 if $rsize
2884 0 552 if $zid
2885 525 27 if defined $stat[9]
2886 525 27 if defined $stat[8]
2887 0 552 $^O eq 'MSWin32' ? :
2888 525 27 if defined $stat[10]
2889 525 27 if defined $stat[2]
2891 525 27 if (@stat)
2893 61 464 if ($sys or $req->{'fileattributes'})
2896 0 0 if ($^O eq "MSWin32" and defined $filename and $filename ne "" and $filename ne "-")
2898 0 0 if (eval { do { require Win32API::File } })
2901 0 0 if ($self->EncodeFileName($file)) { }
2906 0 0 if defined $wattr and $wattr != 4294967295
2911 61 464 if $sys or $req->{'filedevicenumber'}
2912 61 464 if $sys or $req->{'fileinodenumber'}
2913 61 464 if $sys or $req->{'filehardlinks'}
2914 61 464 if $sys or $req->{'fileuserid'}
2915 61 464 if $sys or $req->{'filegroupid'}
2916 61 464 if $sys or $req->{'filedeviceid'}
2917 61 464 if $sys or $req->{'fileblocksize'}
2918 61 464 if $sys or $req->{'fileblockcount'}
2921 0 0 if ($^O eq "darwin" and defined $filename and $filename ne "" and defined $fileSize)
2926 0 0 if ($crDate or $mdItem or $xattr)
2928 0 0 if $crDate
2929 0 0 if $mdItem and $plainFile
2930 0 0 if $xattr
2934 0 552 if ($isDir or defined $stat[2] and ($stat[2] & 61440) == 16384)
2938 0 0 if $raf
2939 0 0 if %saveOptions
2940 0 0 unless $reEntry
2948 0 312 if defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
2950 0 552 if ($fast >= 4)
2951 0 0 if (@fileTypeList) { }
2960 502 50 if (@fileTypeList) { }
2965 501 1 unless ($fast == 3)
2982 549 3 if ($raf->Read($buff, $Image::ExifTool::testLen)) { }
2983 0 549 unless $raf->Seek($pos, 0)
2991 2377 6 if ($type) { }
3 3 elsif (not defined $type) { }
0 3 elsif ($recognizedExt) { }
2992 2301 76 if ($Image::ExifTool::magicNumber{$type}) { }
2994 1745 2 unless $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
2997 0 76 if defined $moduleName{$type} and not $moduleName{$type}
2998 0 76 if $fast > 2
3000 0 632 if $weakMagic{$type} and defined $recognizedExt
3007 3 0 unless $buff =~ /(\xff\xd8\xff|MM\0\x2a|II\x2a\0)/g
3008 0 0 $1 eq "\377\330\377" ? :
3011 0 0 unless $raf->Seek($pos + $skip, 0)
3013 0 0 unless $self->{'DOC_NUM'}
3017 25 607 $type eq 'TIFF' ? :
3019 0 632 if ($fast > 2 and not $processType{$type})
3020 0 0 unless ($weakMagic{$type} and !$ext || $ext ne $type)
3026 205 427 unless defined $module
3030 362 270 if ($module) { }
0 270 elsif ($module eq '0') { }
3047 549 83 if ($result)
3048 0 549 if ($unkHeader)
3057 0 83 unless $raf->Seek($pos, 0)
3059 3 0 unless ($err or defined $type or $self->{'DOC_NUM'})
3064 3 0 if (not length $buff) { }
3068 0 0 if (length $buff < 16 or $buff =~ /[^\Q$ch\E]/) { }
3069 0 0 if ($fileType eq 'RAW') { }
0 0 elsif ($fileType) { }
3078 0 0 if ($self->{'OPTIONS'}{'FastScan'}) { }
3083 0 0 unless $raf->Read($buff, 65536)
3084 0 0 if $buff =~ /[^\Q$ch\E]/g
3087 0 0 if ($num) { }
3093 0 0 if ($ch eq "\000") { }
0 0 elsif ($ch eq ' ') { }
0 0 elsif ($ch =~ /[a-zA-Z0-9]/) { }
3105 3 549 if ($err) { }
0 1098 elsif ($self->Options('ScanForXMP') and not defined $type && ($fast || $self->{'FoundXMP'})) { }
3113 0 0 if Image::ExifTool::XMP::ScanForXMP($self, $raf)
3116 37 218 if (defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'})
3123 550 2 unless ($reEntry)
3127 0 550 if ($self->{'HTML_DUMP'})
3131 0 0 unless defined $pos
3132 0 0 defined $self->{'EXIF_DATA'} ? :
3133 0 0 if defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
3134 0 0 if $self->{'ExtendedEXIF'}
3137 0 0 $self->{'FILENAME'} ? :
3138 0 0 if $success < 0
3141 507 45 if ($filename)
3144 0 0 if ($rsize and $options->{'ExtractEmbedded'})
3146 0 0 if ($self->Open(\*RESOURCE_FILE, "$filename/..namedfork/rsrc")) { }
3162 61 491 if @startTime
3165 46 506 if (%{$self->{'WAS_WARNED'};})
3169 4 52 if $n and $n > 1
3174 12 540 if %saveOptions
3176 2 550 if ($reEntry) { }
3182 0 550 if ($self->{'Cleanup'})
3190 3 549 if not defined $type or exists $self->{'VALUE'}{'Error'}
3210 4 710 if ($self->{'InExtract'})
3214 175 539 unless (@_ and not defined $_[0])
3217 125 50 unless defined $self->{'FILENAME'}
3226 665 49 $self->{'OPTIONS'}{'PrintConv'} ? :
3229 1058 35264 unless defined $val
3234 4 710 if (@$byValue)
3243 9 16 unless defined $val
3247 16 0 unless (defined $self->{'VALUE'}{$vtag})
3253 14 2 unless $nonVal{$tag}
3262 427 287 if (%ignored)
3263 197 230 if (not @$reqTags) { }
42 188 elsif (@$wildTags) { }
3266 22454 526 unless $ignored{$_}
3274 231 161 if (@$wildTags and $i == $wildTags->[0]) { }
3276 231 0 unless $ignored{$_}
3287 10 704 if ($self->{'IO_TAG_LIST'})
3291 3 0 unless @$reqTags or $sort and $sort ne "Input"
3297 175 539 if %saveOptions
3298 4 710 if @saveMembers
3315 451 11 if (ref $info eq 'HASH') { }
11 0 elsif (ref $info eq 'ARRAY') { }
3323 462 0 if ($foundTags) { }
3327 24944 0 if defined $fileOrder->{$_}
3331 0 0 if $info and not $sort
3332 0 0 unless $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
3334 16 446 unless $sort
3337 23 439 unless $sort and $sort ne "Input"
3339 0 439 if ($sort eq 'Tag' or $sort eq 'Alpha') { }
436 3 elsif ($sort =~ /^Group(\d*(:\d+)*)/) { }
0 3 elsif ($sort eq 'Descr') { }
3351 1557 22427 unless $num
3354 436 0 unless $sort2
3355 436 0 if ($sort2)
3356 0 436 if ($sort2 eq 'Tag' or $sort2 eq 'Alpha') { }
0 436 elsif ($sort2 eq 'Descr') { }
3357 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3361 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3365 0 36300 unless $groupOrder{$a} <=> $groupOrder{$b}
3384 0 1 unless my $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
3416 0 54446 if ($tag =~ /^(.*):(.+)/)
3422 0 0 if defined $rawValue->{$key}
3423 0 0 if $i <= 0
3426 0 0 if (@keys)
3428 0 0 if $key
3432 54419 27 if ($type) { }
3433 0 54419 if $type eq "Rational"
3434 0 54419 if $type eq "Bin"
3436 27 0 $self->{'OPTIONS'}{'PrintConv'} ? :
3441 10386 44060 if (not defined $value) { }
3442 10192 194 unless ref $tag
3448 194 0 if ($type ne "Raw")
3450 170 24 unless $type eq "ValueConv"
3454 53 44007 if ($tagInfo->{'Struct'} and ref $value)
3460 48 5 unless ($type eq "Both")
3469 44007 0 if ($type ne "Raw")
3472 6598 37409 if ($both) { }
3473 2319 4279 if ($type eq 'PrintConv') { }
87 4192 elsif ($type eq 'ValueConv') { }
3477 35 52 unless defined $value
3483 35742 1667 unless $type eq "ValueConv"
3492 665 71731 if ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3494 46877 24854 unless (defined $conv)
3495 29757 17120 if ($convType eq 'ValueConv') { }
3496 29342 415 unless $tagInfo->{'Binary'}
3500 16914 206 unless defined($conv = $tagInfo->{'Table'}{'PRINT_CONV'})
3501 49 157 if exists $tagInfo->{$convType}
3505 2148 23278 if $type eq "Both" and $convType eq "PrintConv"
3508 125 25301 if (ref $conv eq "ARRAY")
3511 0 125 ref $value eq 'ARRAY' ? :
3515 7 118 if ($relist) { }
3519 7 7 if (ref $oldIndex) { }
3521 16 0 if defined $valList[$_]
3523 7 0 if @join
3527 12 2 if defined $newVal
3533 0 125 unless @$value
3536 157 25269 if (ref $value eq 'ARRAY') { }
3537 7 150 if (defined $tagInfo->{'RawJoin'}) { }
3549 25628 19 if (defined $conv) { }
3551 2978 22650 if (ref $val eq "HASH" and not @val)
3559 0 17331 unless defined $val->{$_}
3562 16946 385 if defined $val[$_] or not $tagInfo->{'Require'}{$_}
3563 0 385 if defined $oldFilter
3567 7 2586 if defined $oldFilter
3570 0 2593 ref $conv eq 'CODE' ? :
3572 7742 17501 if (ref $conv eq 'HASH') { }
3574 464 7278 unless (defined($value = $conv->{$val}))
3575 128 336 if ($conv->{'BITMASK'}) { }
3579 259 77 if ($conv->{'OTHER'})
3583 0 259 if $Image::ExifTool::evalWarning
3585 81 255 unless (defined $value)
3586 0 81 if ($tagInfo->{'PrintHex'} and $val and &IsInt($val) and $convType eq 'PrintConv') { }
3598 261 45 if ($self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH" and $tmp = $tmp->{'PrintConv'})
3603 0 261 if ($conv->{'BITMASK'} and not defined $conv->{$val}) { }
213 48 elsif (defined($tmp = $tmp->{$value})) { }
3606 0 0 if defined $tmp->{$_}
3617 1286 16215 if (ref $conv eq 'CODE') { }
3622 0 16215 if $@
3624 0 17501 if $Image::ExifTool::evalWarning
3629 24891 371 unless $vals
3631 3 368 if (ref $value eq "SCALAR")
3636 371 0 if defined $value
3637 150 221 if (++$i >= scalar @$vals)
3638 150 0 if @values
3642 133 88 if ($convList)
3644 0 133 if ($nextConv and $nextConv eq 'REPEAT') { }
3652 576 24465 unless defined $value
3654 125 24340 if ($convList and ref $value eq "ARRAY")
3655 117 8 $convType eq 'PrintConv' ? :
3658 7627 35613 if ($type eq "Both")
3661 3435 4192 unless $both
3663 0 7627 if ($self->{'ESCAPE_PROC'}) { }
3804 3823 elsif (not defined $valueConv) { }
3665 0 0 if (defined $valueConv) { }
3679 163 35450 if $self->{'ESCAPE_PROC'}
3682 442 35171 if $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3684 311 35302 if (ref $value eq "ARRAY")
3685 3 308 if (defined $self->{'OPTIONS'}{'ListItem'}) { }
1 307 elsif (wantarray) { }
170 163 elsif ($type eq 'PrintConv' and not $self->{'OPTIONS'}{'List'}) { }
3709 2 23995 unless $tagInfo and defined $tagInfo->{'TagID'}
3711 0 23995 if wantarray
3727 23997 0 if ($tagInfo)
3731 718 129 if ($desc) { }
3733 263 455 if ref $desc
3738 0 1 unless $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$// and $desc = $self->{'CUR_LANG'}{$name}
3739 0 1 if ref $desc
3743 0 710 if $self->{'ESCAPE_PROC'}
3750 9883 13404 unless ($desc)
3753 9883 0 if $tagInfo
3773 129711 74781 if (ref $tag eq 'HASH') { }
3786 39102 165390 unless ($tagInfo->{'GotGroups'})
3789 33582 5520 unless $groups
3792 109598 7708 unless $groups->{$_}
3797 103156 101336 if (defined $family and $family ne '-1') { }
3798 2736 100420 if ($family =~ /[^\d]/) { }
3800 0 2736 unless @families
3801 2736 0 unless $family =~ /^:/
3804 0 2736 if @families == 1 and $families[0] != 7
3806 69693 30727 if $family == 0 or $family == 2
3810 380 100956 unless wantarray
3814 5523 128896 $tag =~ /\((\d+)\)$/ && $1 ne '0' ? :
3816 48500 85919 unless ($byTagInfo)
3817 330 48170 if $ex->{'G0'}
3818 384 17605 $ex->{'G1'} =~ /^\+(.*)/ ? :
17989 30511 if $ex->{'G1'}
3819 1357 47143 if $ex->{'G3'}
3820 255 48245 if defined $ex->{'G5'}
3821 0 48500 if (defined $ex->{'G6'})
3822 0 0 unless defined $groups[5]
3825 16 48484 if ($ex->{'G8'})
3830 48500 0 unless ($noID)
3832 2 48498 if (not defined $id) { }
30251 18247 elsif ($id =~ /^\d+$/) { }
3835 0 30251 if $self->{'OPTIONS'}{'HexTagIDs'}
3843 49213 85206 if ($family)
3844 30727 18486 if $family > 0
3848 42 18444 if ($groups[1] =~ /^MIE(\d*)-(.+?)(\d*)$/)
3850 0 42 $1 ? :
3851 0 42 $3 ? :
3852 0 42 $1 ? :
0 42 $3 ? :
3855 2736 100956 if (@families)
3860 0 5472 unless ($grp)
3861 0 0 if $simplify
3864 5456 16 unless $simplify and @grps and $grp eq $grps[-1]
3867 0 2736 if $simplify and @grps > 1 and $grps[0] eq "Main"
3888 2 1 if (ref $info ne 'HASH') { }
3894 0 3 unless defined $family
3913 0 508 unless @groups
3950 44351 3246 unless $Image::ExifTool::specialTags{$_}
3954 3246 44351 if $Image::ExifTool::specialTags{$tag}
3956 263 44088 unless $tagInfo
3970 9508 93493 unless ($reqTag)
3972 0 9508 if $index == 0
3975 304 93189 if ($subDoc) { }
29583 63606 elsif ($reqTag =~ /^(.*):(.+)/) { }
5241 116730 elsif ($notBuilt{$reqTag} and not $inhibit->{$index}) { }
3980 0 304 $reqTag =~ s/\b(Main|Doc(\d+)):// ? :
3984 304 0 unless ($cacheTag)
3987 304 0 if $reqTag =~ s/^(.*)://
3991 0 304 if defined $rawValue->{$key}
3992 304 0 if $i <= 0
3995 304 0 if defined $reqGroup
4004 2238 699 if ($reqGroup eq "Composite" and $notBuilt{$name})
4007 1767 471 unless ($inhibit->{$index} and $allBuilt)
4015 2 1 if ($reqTag =~ /\b(File\d+):/i and $self->{'ALT_EXIFTOOL'}{$1})
4023 4056 24466 if defined $et->{'VALUE'}{$key}
4024 27816 706 if $i <= 0
4028 2 27814 if $altFile
4038 17030 69455 if (defined $rawValue->{$reqTag}) { }
27501 41954 elsif ($require->{$index}) { }
4039 71 16959 if ($inhibit->{$index}) { }
4052 73 37007 if $requireAlt xor $altOnly
4053 0 37007 if ($docNum) { }
5513 31494 elsif ($found) { }
3965 27529 elsif (not defined $found) { }
4054 0 0 if ($found)
4058 0 0 unless $compKeys->{$_}
4064 0 0 if ++$docNum <= $self->{'DOC_COUNT'}
4073 19488 4867 unless $compositeID{$tagKey{$_}}
4077 6589 17766 unless $compKeys->{$_}
4085 36799 208 unless $subDoc
4088 176 32 if (%$require) { }
4092 176 0 unless defined $rawValue->{$reqTag}
4096 32 0 ref $tagInfo->{'SubDoc'} ? :
4099 0 64 unless my $desTag = $desire->{$_}
4101 0 64 if defined $rawValue->{$desTag}
4103 32 0 unless $docNum
4107 541 1822 unless @deferredTags
4108 471 1351 if (@deferredTags == @tagList)
4109 0 471 if ($allBuilt)
4129 0 11 unless $compositeID{$tag}
4176 0 1010 unless (defined $file)
4178 0 0 if (defined $desc and $desc eq '0') { }
4185 0 0 unless defined $module
4186 0 0 unless defined $module and $module eq 0
4193 73 937 unless ($fileExt)
4194 0 73 if ($file =~ s/ \((.*)\)$//)
4198 73 0 unless $fileExt
4200 962 48 if $fileExt
4204 0 1010 if ($desc) { }
955 55 elsif ($fileType and !defined($desc) || $desc ne '0') { }
4205 0 0 if ($fileType) { }
4206 0 0 if ($Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}) { }
4214 0 0 if $subType
4219 0 955 if defined $mod and $mod eq 0
4221 55 955 unless $fileType
4223 716 239 if (wantarray) { }
239 0 elsif ($fileType) { }
4224 4 712 if ref $fileType eq "ARRAY"
4226 0 239 if ref $fileType eq "ARRAY"
4239 0 0 unless my $file = shift()
4240 0 0 unless my($type) = &GetFileType($file)
4241 0 0 if ($Image::ExifTool::noWriteFile{$type})
4244 0 0 grep(/^$ext$/, @{$Image::ExifTool::noWriteFile{$type};}) ? :
0 0 if $ext
4246 0 0 if ($onlyWriteFile{$type})
4248 0 0 grep(/^$ext$/, @{$onlyWriteFile{$type};}) ? :
0 0 if $ext
4250 0 0 unless (%writeTypes)
4263 0 24 unless my $file = shift()
4265 0 24 unless my $type = &GetFileType($file)
4266 24 0 if $createTypes{$ext} or $createTypes{$type}
4277 111 246 $hash->{'_ordered_keys_'} ? :
4334 0 818 if ($self->Options("HtmlDump"))
4339 0 818 unless ref $self->{'OPTIONS'}{'TextOut'}
4353 0 2 if ($self->{'OPTIONS'}{'Duplicates'}) { }
4363 14 252 if $haveInfo{$tagName}
4388 0 550 if ($self->{'ImageDataHash'})
4391 0 0 unless $digest eq "d41d8cd98f00b204e9800998ecf8427e" or $digest eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" or $digest eq "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
4397 1 549 if ($opts->{'Validate'})
4401 4 546 if ($opts->{'Geolocation'})
4406 0 8 if lc $arg eq "both"
4407 8 0 unless $arg =~ s/^\$//
4410 4 0 unless (@tags)
4423 69 7 unless defined $val
4425 0 7 if ($tag =~ /Coordinates/)
4426 0 0 if defined $coord[0] and defined $coord[1]
4430 2 3 $tag =~ /Longitude/ ? :
2 5 $tag =~ /Latitude/ ? :
4431 4 3 if (defined $n)
4432 2 2 if ($tag =~ /Ref$/) { }
4433 2 0 unless $ref[$n]
4435 2 0 unless defined $coord[$n]
4440 1 2 if ($tag =~ /City/) { }
2 0 elsif (@city) { }
4441 0 1 if @city
4444 2 0 unless $doneCity
4445 0 2 if $doneCity
4448 1 3 if (defined $coord[0] and defined $coord[1]) { }
0 3 elsif (@city) { }
4449 0 1 if $ref[0] and $coord[0] > 0 and $ref[0] eq "S"
4450 1 0 if $ref[1] and $coord[1] > 0 and $ref[1] eq "W"
4455 3 1 unless (defined $arg)
4458 0 3 if $arg eq 1
4461 4 0 if ($arg)
4462 3 1 if $both
4465 0 4 if ($opts->{'Verbose'})
4466 0 0 if ($Image::ExifTool::Geolocation::dbInfo) { }
4478 4 0 if ($cities and @$cities < 2 || $dist || !$self->Warn('Multiple Geolocation cities are possible', 2)) { }
0 0 elsif ($Image::ExifTool::evalWarning) { }
4479 1 3 if @$cities > 1
4482 1 4 unless $city eq $cities->[0]
4485 5 0 if $geo[1]
4486 5 0 if $geo[2]
4488 5 0 if $geo[4]
4489 5 0 if $geo[5]
4491 4 1 if $geo[10]
4494 4 1 if ($dist)
4499 0 5 unless $opts->{'Duplicates'}
4508 0 550 if (%{$opts->{'UserParam'};})
4512 0 0 unless /#$/
4513 0 0 if ($doMsg)
4520 540 0 if ($opts->{'Composite'} and !$opts->{'FastScan'} || $opts->{'FastScan'} < 5)
4526 2 6 if $altExifTool->{'DID_EXTRACT'}
4534 0 6 if ($fileName =~ /\$/)
4537 0 0 unless defined $fileName
4541 0 6 if $err
4549 1 549 if $self->{'DoAltComposite'}
4559 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
4570 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
4584 72 72 $i ? :
4585 2 142 unless defined $value->{$key}
4586 70 72 if ($et->GetGroup($key, 1) eq $grp)
4603 0 23 $tag =~ s/ \((\d+)\)$// ? :
4605 0 23 if defined $self->{'VALUE'}{$tag}
4620 69 56 unless $$strPt =~ /([\x80-\xff])/g
4627 45 153 if $ch < 194 or $ch >= 248
4630 75 78 if ($ch < 224) { }
78 0 elsif ($ch < 240) { }
4641 1 152 unless ($$strPt =~ /\G([\x80-\xbf]{$n})/g)
4642 0 1 if $trunc and $pos + $n > length $$strPt
4646 77 75 if ($n == 2) { }
4647 0 1 if $ch == 224 and (ord $1 & 224) == 128 or $ch == 237 and (ord $1 & 224) == 160 or $ch == 239 and ord $1 == 191 and (ord substr($1, 1) & 254) == 190
4652 0 75 if $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143 or $ch > 244
4655 10 142 unless $$strPt =~ /([\x80-\xff])/g
4668 505 0 if (eval { do { require File::Basename } }) { }
4674 0 0 if ($name =~ s[(.*)/][]) { }
4675 0 0 length $1 ? :
4692 0 1198 if $file eq "-"
4695 0 1198 if ($file =~ /[\x80-\xff]/)
4697 0 0 if (not $enc and $^O eq "MSWin32")
4698 0 0 if (&IsUTF8(\$file) < 0) { }
4699 0 0 unless defined $enc
4706 1198 0 if ($hasSpecialChars or $force or $self->{'OPTIONS'}{'WindowsLongPath'} or $self->{'OPTIONS'}{'WindowsWideFile'})
4707 1198 0 unless $enc
4708 0 1198 if ($^O eq 'MSWin32') { }
0 1198 elsif ($enc ne 'UTF8') { }
4710 0 0 if (eval { do { require Win32API::File } })
4711 0 0 if $self->{'OPTIONS'}{'WindowsLongPath'}
4751 0 0 if ($path =~ s/(_original|_exiftool_tmp|:Zone\.Identifier)$//)
4753 0 0 if (not length $path or $path =~ m([:./\\]$))
4759 0 0 if defined $self->{'LONG_PATH_IN'} and $self->{'LONG_PATH_IN'} eq $path
4761 0 0 if $debug
4765 0 0 if $longPath =~ /^\\\\\?\\/
4767 0 0 unless ($k32GetFullPathName)
4768 0 0 if defined $k32GetFullPathName
4769 0 0 unless (eval { do { require Win32::API } })
4774 0 0 unless ($k32GetFullPathName)
4787 0 0 if length $longPath <= 247 - length($suffix)
4789 0 0 if ($longPath =~ /^\\\\/) { }
4800 0 0 if $debug
4817 0 730 $file =~ /\|$/ && $self->{'TRUST_PIPE'} ? :
730 230 unless $mode
4819 960 0 if ($mode)
4820 0 960 if ($self->EncodeFileName($file)) { }
4824 0 0 if ($mode eq '>' or $mode eq '>>') { }
4827 0 0 if ($mode eq '>>') { }
4837 0 0 if $mode eq "+<"
4843 0 0 unless ($access & Win32API::File::GENERIC_WRITE())
4848 0 0 unless $wh
4850 0 0 if (not defined $fd or $fd < 0)
4872 0 231 if ($self->EncodeFileName($file)) { }
231 0 elsif ($writing) { }
4878 0 0 unless $wh
4897 0 1 if ($et->EncodeFileName($file)) { }
4901 0 0 if $attrs and $attrs != 4294967295 and $attrs & $dirBit
4919 0 1 if ($dir and not $self->IsDirectory($dir))
4924 0 0 if (length $_ and not $self->IsDirectory($dir) and not &IsPC() && $dir =~ m[^//[^/]*$])
4931 0 0 if ($self->EncodeFileName($d2)) { }
4933 0 0 unless (defined $k32CreateDir)
4934 0 0 unless (eval { do { require Win32::API } })
4939 0 0 unless ($k32CreateDir)
4945 0 0 if $k32CreateDir
4949 0 0 unless $success
4968 0 0 unless (ref $file)
4970 0 0 unless ($self->Open(\*FH, $file))
4971 0 0 if ($self->IsDirectory($file))
4973 0 0 if defined $rtn[0]
4981 0 0 if ($^O eq "MSWin32")
4982 0 0 if (not eval { do { require Win32::API } }) { }
0 0 elsif (not eval { do { require Win32API::File } }) { }
4989 0 0 unless ($win32Handle)
4996 0 0 unless ($k32GetFileTime)
4997 0 0 if defined $k32GetFileTime
4999 0 0 unless ($k32GetFileTime)
5005 0 0 unless ($k32GetFileTime->Call($win32Handle, $ctime, $atime, $mtime))
5035 719 6 unless $self->{'ReqTagAlreadySet'}
5043 171 1420 if (ref $arg and not overload::Method($arg, '""')) { }
915 505 elsif (defined $self->{'FILENAME'}) { }
5044 10 161 if (ref $arg eq 'ARRAY') { }
116 45 elsif (ref $arg eq 'HASH') { }
26 19 elsif (ref $arg eq 'SCALAR' or UNIVERSAL::isa($arg, 'GLOB')) { }
19 0 elsif (UNIVERSAL::isa($arg, 'File::RandomAccess')) { }
5047 2 89 if (/^-(.*)/) { }
5057 28 161 if (@oldGroupOpts and $opt =~ /^Group/)
5064 0 189 if $opt eq "Exclude"
5067 0 26 if defined $self->{'RAF'}
5070 0 25 if (ref $arg eq "SCALAR" and $] >= "5.006" and $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@)
5075 0 0 $] < 5.01 ? :
0 0 $self->{'OPTIONS'}{'EncodeHangs'} || $@ ? :
5090 58 857 if ($arg =~ /^-(.*)/) { }
5100 46 679 if ($options->{'RequestTags'})
5104 367 358 if (@{$self->{'REQUESTED_TAGS'};})
5108 0 989 unless /^(.*:)?([-\w?*]*)#?$/
5109 989 0 if $2
5110 734 255 unless $1
5114 45 680 if (@exclude or $wasExcludeOpt)
5116 1 44 if $options->{'Exclude'}
5122 52 673 if ($options->{'Exclude'})
5124 68 1 if /([-\w]+)#?$/
5125 0 69 if (/(xmp-.*:[-\w]+)#?/i)
5126 0 0 unless $self->{'EXCL_XMP_LOOKUP'}
5131 7 45 if $self->{'TAGS_FROM_FILE'}
5143 1 1 if $grp eq $id
5144 0 1 if ($id =~ /^\d+$/) { }
5145 0 0 if $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
5148 0 1 if $tmp =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $tmp
5150 1 0 unless $id =~ s/-.*//
5164 0 28413 unless ref $tagList
5170 29004 0 if ($grps[$g] =~ s/^(\d*)(id-)?//i)
5171 2 29002 if length $1
5172 0 29004 if ($2)
5178 0 29004 if $grps[$g] eq "copy0"
5184 0 18951 if $grp eq "*" or $grp eq "all"
5186 3 18948 if (defined($f = $fmys[$g])) { }
5187 0 3 unless defined $groups[$f]
5188 0 3 if ($f == 7) { }
5189 0 0 if &IsSameID(scalar $self->GetTagID($tag), $grp)
5191 2 1 if $grp eq lc $groups[$f]
5195 13756 5192 unless grep /^$grp$/i, @groups
5198 4729 13757 if ($g == @grps)
5199 2162 2567 unless wantarray
5203 597 25654 wantarray ? :
5217 6 67 if (@$list1 or @$list2) { }
5221 150 79 if ($exclude->{$tag} xor $inv) { }
5223 1 8 $_ == $i ? :
3 9 if ($_ < $i) { }
5224 150 1102 $_ == $i ? :
6959 1252 if ($_ < $i) { }
5231 3181 3769 unless $exclude->{$_} xor $inv
5245 0 8 unless $g8 =~ /(\d+)/
5246 0 8 unless my $et = $self->{'ALT_EXIFTOOL'}{$g8}
5250 8 1 unless (defined $self->{'VALUE'}{$vtag})
5283 367 353 if (@$reqTags) { }
5284 367 0 unless $rtnTags
5291 255 734 if ($reqTag =~ /^(.*):(.+)/) { }
5293 0 255 if ($group =~ /^(\*|all)$/i) { }
6 249 elsif ($reqTag =~ /\bfile(\d+):/i) { }
0 249 elsif (not $group =~ /^[-\w:]*$/) { }
5307 15 0 if $tag =~ s/#$// and $options->{'PrintConv'}
5308 6 983 if (defined $tagHash->{$reqTag} and not $doDups) { }
164 819 elsif ($tag =~ /^(\*|all)$/i) { }
9 810 elsif ($tag =~ /[*?]/) { }
748 62 elsif ($doDups or defined $group) { }
62 0 elsif ($tag =~ /^[-\w]+$/) { }
5312 163 1 if ($doDups or $allGrp) { }
5317 0 164 unless @matches
5324 9 0 if $doDups or $allGrp
5326 0 9 unless @matches
5337 62 0 unless defined $matches[0]
5341 255 734 if (defined $group and not $allGrp)
5344 20 235 unless @matches or not $allTag
5346 162 807 if (@matches > 1) { }
532 275 elsif (not @matches) { }
5350 0 1 unless ($doDups or $allTag or $allGrp)
5355 0 0 unless defined $priority
5356 0 0 unless $priority >= $oldPriority
5364 9 523 $byValue ? :
5369 6 963 if ($g8)
5376 15 954 if $byValue
5378 153 816 if $allTag
5384 353 0 if ($doDups) { }
5395 45 27 if ($exclude)
5399 34 27 if ($pat =~ /^(.*):(.+)/) { }
5401 0 34 if ($group =~ /^(\*|all)$/i) { }
0 34 elsif (not $group =~ /^[-\w:]*$/) { }
5411 34 27 if ($tag =~ /^(\*|all)$/i) { }
5419 34 27 if $group and @matches
5422 45 0 if (%exclude)
5425 0 45 unless @$rtnTags
5427 44 1 if $duplicates and not @groupOptions
5435 0 29 unless $groupOpt =~ /^Group(\d*(:\d+)*)/
5437 29 0 unless $wantGroup{$family}
5439 4 25 if (ref $options->{$groupOpt} eq 'ARRAY') { }
5448 2 31 if (/^-(.*)/) { }
5467 3464 1212 unless defined $wanted
5468 177 1035 unless $wanted
5470 0 1035 if $wantTag and $wantTag < $wanted
5473 3281 1047 unless $wantTag
5474 382 665 if $duplicates
5478 28 637 if (defined $bestTag)
5479 17 11 if $wantTag > $keepTags{$bestTag}
5480 0 11 if ($wantTag == $keepTags{$bestTag})
5482 0 0 if ($tag =~ / \((\d+)\)$/)
5484 0 0 if not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
5500 714 6 wantarray ? :
5513 508 255 if $callInfo[$#callInfo] eq "DESTROY"
5514 193 62 if (@callInfo == 4) { }
1 61 elsif ($callInfo[-1] eq 'ShiftTime') { }
5524 0 255 unless eval { do { require $file } }
5525 0 255 unless (defined &$autoload)
5548 0 0 unless $self->{'Cleanup'}
5565 1 39 if ($ignorable & 4)
5567 0 1 unless $ignorable &= 3
5570 1 39 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
5571 0 1 if $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
5572 0 39 if defined $noWarn and eval { do { $str =~ /$noWarn/ } }
5573 2 37 $ignorable eq '2' ? :
5576 94 0 unless (defined $noWarn and eval { do { $str =~ /$noWarn/ } })
5578 10 84 if ($self->{'WAS_WARNED'}{$str}) { }
5579 10 0 unless $noCount
5595 0 4 if ($self->{'DemoteErrors'}) { }
1 3 elsif ($ignorable) { }
5596 0 0 if $self->Warn($str)
5599 1 0 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
5614 0 528 unless $tagList and @$tagList
5619 60 468 $removeSuffix ? :
5624 1 1173 if (ref $entry)
5632 31 1142 if (not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s) { }
5634 23 8 if ($post =~ /^[-+]?>/ or not $post =~ /\$/)
5637 6 17 unless defined $p2
5638 0 23 $t2 =~ s/#$// ? :
5640 0 23 if ($match)
5642 0 0 if /^-/
5643 0 0 if ($p2 and /(.+:)(.+)/) { }
5649 0 0 unless @post
5657 328 845 if ($tag =~ /(.+:)(.+)/) { }
5662 4 1169 $tag =~ s/#$// ? :
5667 17 1156 if ($match) { }
5668 0 17 if ($excl) { }
1 16 elsif (length $pre or length $post or $v) { }
5671 0 0 if /^-/
5673 0 0 if ($pre and /(.+:)(.+)/) { }
5682 0 12 if ($2) { }
5695 1173 0 unless @post
5711 0 636 if (ref $add) { }
5725 525 111 if ($defaultGroups) { }
5726 524 1 unless $defaultGroups->{'0'}
5727 521 4 unless $defaultGroups->{'1'}
5728 0 525 unless $defaultGroups->{'2'}
5734 639 5659 if $Image::ExifTool::specialTags{$tagID}
5737 1233 4426 if $tagInfo->{'Writable'}
5738 0 5659 if $override and not defined $tagInfo->{'Override'}
5741 364 5295 if ($compositeID{$tagID})
5745 0 364 if $over < 0
5746 0 364 if ($over)
5756 0 0 if $n++
5760 5659 0 unless $tagID eq $new
5763 5295 364 unless $compositeID{$tagID}
5769 9497 7480 unless my $req = $tagInfo->{$type}
5770 6468 1012 ref $req eq 'HASH' ? :
5772 1012 4647 if (@scalars)
5791 2486 3173 unless $groups
5794 12674 4303 unless $groups->{$_}
5807 0 1 if (defined &Image::ExifTool::TagLookup::AddTags) { }
1 0 elsif (not $Image::ExifTool::pluginTags{$tagHash}) { }
5825 2620 2428 if (ref $flags eq 'ARRAY') { }
0 2428 elsif (ref $flags eq 'HASH') { }
5856 38865 217118 unless $tagInfo->{'Name'}
5857 4988 250995 if $tagInfo->{'Flags'}
5858 9469 246514 if defined $avoid
5860 3039 252944 if ($tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'})
5866 229072 3931 unless @infoArray > 1
5891 5690 2520 if $_[0] =~ /^[+-]?(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/
5893 2520 0 unless $_[0] =~ /^[+-]?(?=\d|,\d)\d*(,\d*)?([Ee]([+-]?\d+))?$/
5916 6654 3974 unless defined $_
5918 3967 7 /((?:[+-]?)(?=\d|\.\d)\d*(?:\.\d*)?(?:[Ee](?:[+-]?\d+))?)/ ? :
5943 1154 212 unless $Image::ExifTool::swapBytes
5952 1302 0 unless $Image::ExifTool::swapWords and length $_[0] == 8
5964 158504 4853 if $_[2]
5971 12 0 if $_[2]
5980 7720 24018 if $_[2]
5987 0 0 if $_[2]
5999 5448 22517 if ($Image::ExifTool::swapBytes) { }
6005 0 27965 unless defined $val
6016 0 1236 unless defined $val
6039 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16s($dataPt, $pos + 2)
6047 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16u($dataPt, $pos + 2)
6054 0 0 $ratNumer ? :
0 690 unless $ratDenom = &Get32s($dataPt, $pos + 4)
6061 0 32 $ratNumer ? :
32 2808 unless $ratDenom = &Get32u($dataPt, $pos + 4)
6068 0 18 $val < 0 ? :
6080 1255 634 $val > 0 ? :
6107 8653 7655 if ($order eq 'MM') { }
7458 197 elsif ($order eq 'II') { }
16 181 elsif ($order =~ /^Big/i) { }
12 169 elsif ($order =~ /^Little/i) { }
6122 0 16139 if ($val == 16672) { }
16139 0 elsif ($val == 8257) { }
6148 4 35 &GetByteOrder() eq 'II' ? :
6234 0 37351 unless ($len)
6238 0 37351 unless defined $size
6239 1417 35934 unless ($count)
6240 29 1388 if defined $count or $size < $len
6244 3 37319 if ($len * $count > $size)
6246 3 0 if $count < 1
6250 6621 30698 if (not $proc) { }
3132 27566 elsif ($isRational{$format} and $ratPt) { }
6254 3895 2726 if $format eq "string"
6261 3132 334 if --$count <= 0
6268 27566 22903 if --$count <= 0
6272 412 36907 if wantarray
6273 3713 33194 if @vals > 1
6290 112 6377 unless $from
6291 6195 294 unless $to
6292 1164 5325 if ($from ne $to and length $val)
6296 1164 0 if ($cs1 and $cs2 and not $cs2 & 2) { }
0 0 elsif ($self) { }
6298 824 340 if (($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/)
6303 0 0 $cs1 ? :
6304 0 0 unless ($$self{"DecodeWarn$set"})
6331 138 40 unless $bits
6336 6001 143 unless $val & 1 << $i
6338 19 124 if (not $lookup) { }
118 6 elsif ($lookup->{$n}) { }
6348 80 98 unless @bitList
6349 79 19 $lookup ? :
6360 0 208 if $$imagePt eq "none"
6361 124 10 unless ($$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s or $self->Options("IgnoreMinorErrors"))
6368 0 124 if ($self->{'REQ_TAG_LOOKUP'}{lc &GetTagName($tag)})
6400 1 38960 if length $name < 2 or $name =~ /^[-0-9]/
6416 10203 1103 unless defined $tagID
6424 1112 10194 if defined $tagID
6453 12835 463 unless defined $filter and defined $$valPt
6455 447 16 if (not ref $$valPt) { }
12 4 elsif (ref $$valPt eq 'SCALAR') { }
4 0 elsif (ref $$valPt eq 'ARRAY') { }
0 0 elsif (ref $$valPt eq 'HASH') { }
6459 447 0 if (defined $_)
6489 0 590 unless defined $outStr
6490 0 590 if ref $outStr eq "SCALAR"
6494 590 0 if ($verbose < 4) { }
6495 589 1 if ($maxLen) { }
1 0 elsif (defined $maxLen) { }
6496 0 589 if $maxLen < 20
6505 0 0 if $maxLen > 2048 and $verbose < 5
6509 8 582 if length $outStr > $maxLen
6522 8 1835 if ($shift)
6525 0 8 if ($shift =~ s/^((\d?[A-Z][-\w]*\w:)*)([A-Z][-\w]*\w)([-+])//i) { }
6526 0 0 $4 eq '-' ? :
6528 8 0 $shift =~ s/^([-+])// && $1 eq '-' ? :
6530 1 7 unless ($offset)
6533 0 1 if ($t)
6536 0 0 if ($g and @matches)
6541 0 0 if (not @matches and $self->{'TAGS_FROM_FILE'} and $self->{'OPTIONS'}{'RequestTags'})
6550 0 0 unless $$ti{$matches[0]}{'PrintConv'}
6551 0 0 unless $$ti{$matches[0]}{'PrintConv'} =~ /ConvertDateTime/
6557 0 1 if (@matches)
6559 0 0 if defined $val
6565 5 1838 if ($fmt)
6568 4 1 if $date =~ s/([-+]\d{2}:\d{2}|Z)$//
6574 5 0 if (@a and $a[-1] >= 1000 and $a[-1] < 3000 and eval { do { require POSIX } }) { }
0 0 elsif ($self->{'OPTIONS'}{'StrictDate'}) { }
6581 0 5 if ($fmt =~ /%(-?)\.?(\d*)f/)
6583 0 0 $date =~ /(\.\d+)/ ? :
6584 0 0 if (not $frac) { }
0 0 elsif (length $dig) { }
6585 0 0 if $dig
6587 0 0 if ($dig + 1 > length $frac) { }
0 0 elsif ($dig + 1 < length $frac) { }
6593 0 0 if ++$a[0] < 60
6595 0 0 if ++$a[1] < 60
6597 0 0 if ++$a[2] < 24
6600 0 0 if ++$a[3] <= DaysInMonth($a[4] + 1, $a[5])
6602 0 0 if ++$a[4] < 12
6609 0 0 if $neg
6613 0 5 if ($fmt =~ /%:?[sz]/)
6615 0 0 if not $tz and eval { do { require Time::Local } }
6617 0 0 unless $tz and $tz =~ /^[-+]\d{2}:\d{2}$/
6621 0 0 if ($fmt =~ /%s/ and eval { do { require Time::Local } })
6630 0 5 if $fmt =~ /[\x80-\xff]/
6645 3 0 if (&IsFloat($val) and $val != 0)
6646 2 1 if $mult
6647 0 3 if ($val < 60) { }
3 0 elsif ($val < 3600) { }
0 0 elsif ($val < 86400) { }
6650 2 1 $mult && $mult >= 60 ? :
6651 1 2 $val == 60 && $mult ? :
6670 0 36 if ($^O eq "MSWin32")
6690 0 967 if ($tm->[3] != $gm->[3])
6692 0 0 $tm->[3] == 1 ? :
0 0 if abs $tm->[3] - $gm->[3] != 1
6698 0 0 $min > 0 ? :
0 967 if $^O eq "mirbsd"
6710 967 41 if (ref $min)
6715 1 1007 if $min < 0
6730 1 1069 if $time == 0
6732 1059 10 unless defined $dec
6733 0 1069 if $dec < 0
6736 0 1069 if $frac < 0
6739 7 1062 if $dec =~ s/^(\d)// and $1 eq 1
6740 0 1069 if $trim
6741 164 905 if (not $toLocal) { }
0 905 elsif ($Image::ExifTool::static_vars{'KeepUTCTime'}) { }
6763 0 176 if $timeStr eq "0000:00:00 00:00:00"
6765 0 176 unless @tm == 7
6766 0 176 unless (eval { do { require Time::Local } })
6773 127 49 if ($isLocal)
6774 127 0 if ($tzStr =~ /(?:Z|([-+])(\d+):(\d+))/i) { }
0 0 elsif ($isLocal eq '2') { }
6776 62 59 $1 eq '-' ? :
121 6 if $1
6784 0 176 $isLocal ? :
6786 5 169 if $tzStr and $tzStr =~ /^(\.\d+)/
6797 0 318 if ($et and $et->{'OPTIONS'}{'ByteUnit'} eq 'Binary') { }
6798 0 0 if $val < 2048
6799 0 0 if $val < 10240
6800 0 0 if $val < 2097152
6801 0 0 if $val < 10485760
6802 0 0 if $val < 2147483648
6803 0 0 if $val < '10737418240'
6806 111 207 if $val < 2000
6807 153 54 if $val < 10000
6808 50 4 if $val < 2000000
6809 3 1 if $val < 10000000
6810 1 0 if $val < 2000000000
6811 0 0 if $val < '10000000000'
6823 0 130 unless &IsFloat($time)
6824 69 61 if $time == 0
6825 61 0 $time > 0 ? :
6826 57 4 if $time < 30
6832 0 4 if ($h > 24)
6848 0 19 unless &IsFloat($bitrate)
6852 17 19 if $bitrate >= 1000 and @units
6853 13 6 $bitrate < 100 ? :
6866 0 1010 if $enc
6878 0 1 if $enc
6891 48 368 if (length $str > $lim and $lim >= 5)
6904 0 0 unless $self->{'HTML_DUMP'}
6906 0 0 if $self->{'BASE'}
6909 0 0 if ($self->{'SkipData'})
6913 0 0 if $end <= $skip->[0]
6914 0 0 if $pos >= $skip->[1]
6915 0 0 if ($pos != $skip->[0])
6935 403 182 unless $offset
6940 585 0 if $len > 64
6941 0 585 unless $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
6942 29 556 if ($buff =~ /AXS(!|\*).{8}$/s) { }
29 527 elsif ($buff =~ /\xa1\xb2\xc3\xd4$/) { }
34 493 elsif ($buff =~ /cbipcbbl$/) { }
41 452 elsif ($buff =~ /^CANON OPTIONAL DATA\0/) { }
26 426 elsif ($buff =~ /~\0\x04\0zmie~\0\0\x06.{4}[\x10\x18]\x04$/s or $buff =~ /~\0\x04\0zmie~\0\0\x0a.{8}[\x10\x18]\x08$/s) { }
26 400 elsif ($buff =~ /\0\0(QDIOBS|SEFT)$/) { }
0 400 elsif ($buff =~ /8db42d694ccc418790edff439fe026bf$/s) { }
0 400 elsif ($buff =~ m[\0{6}/NIKON APP$]) { }
26 374 elsif ($buff =~ /\xff{4}\x1b\*9HWfu\x84\x93\xa2\xb1$/) { }
0 374 elsif ($buff =~ /jxrs...\0$/s) { }
1 373 elsif ($self->{'ProcessGoogleTrailer'}) { }
6971 212 373 $type ? :
7016 57 175 if ($outfile)
7018 42 15 if $$outfile
7068 57 175 if ($outfile) { }
20 155 elsif ($result < 0) { }
7069 7 50 if ($result < 0)
7072 7 0 if ($self->{'TrailerStart'})
7073 0 7 unless $dataPos
7074 0 7 unless $dirLen
7076 0 7 if ($self->{'DEL_GROUP'}{'Trailer'} or $self->{'DEL_GROUP'}{$dirName}) { }
7 0 elsif ($dataPos and $dirLen) { }
7077 0 0 $dirLen ? :
7083 0 7 unless $raf->Seek($dataPos) and $raf->Read(${$$dirInfo{"OutFile"};}, $dirLen) == $dirLen
7088 57 0 if ($result > 0) { }
7089 40 17 if ($outBuff)
7093 33 7 if $fixup
7096 15 42 if ($dirInfo->{'Fixup'})
7097 7 8 if ($fixup)
7107 0 0 if $self->Error("Error rewriting $dirName trailer", 2)
7115 1 211 unless $result > 0 and $dirLen
7117 29 182 if $dataPos and $self->{'TrailerStart'} and $dataPos <= $self->{'TrailerStart'}
7121 28 154 unless ($nextTrail)
7122 28 0 unless $self->{'ProcessGoogleTrailer'}
7183 1180 2020 unless ($markerName)
7185 1180 0 if ($markerName and $markerName =~ /^([A-Z]+)\d+$/) { }
7203 279 303 if (defined $base)
7232 0 251 unless ($raf)
7237 242 9 if ($self->{'FILE_TYPE'} =~ /^(JPEG|JP2)$/ and not $self->{'DOC_NUM'})
7242 251 0 if ($raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/) { }
7245 0 0 unless $optionalTagTable and $s =~ /^\xff[\xe0-\xef]/
7246 0 0 unless $raf->Seek(-2, 1)
7248 2 249 if ($s eq "\377\1")
7249 0 2 unless $raf->Read($s, 5) == 5 and $s eq "Exiv2"
7254 0 251 if ($options->{'RequestAll'} and $options->{'RequestAll'} > 2)
7257 243 2 if (not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'})
7259 1 242 if $fast > 2
7262 1 249 if $self->Options("FastScan")
7264 250 0 if $verbose < 4
7265 0 250 if ($htmlDump and not $optionalTagTable)
7267 0 0 $s eq 'Exiv2' ? :
7269 0 0 if $pos
7284 0 2217 if $marker and $marker < 0
7298 0 1946 unless ($raf->ReadLine($buff))
7299 0 0 unless $optionalTagTable
7307 0 1946 unless $raf->Read($ch, 1)
7309 1946 0 unless $nextMarker == 255
7313 1675 271 if (not defined $markerLenBytes{$nextMarker}) { }
0 271 elsif ($markerLenBytes{$nextMarker} == 4) { }
0 271 elsif ($hash and defined $marker and $marker == 0 || $marker == 218 || $marker >= 208 && $marker <= 215) { }
7315 0 1675 unless $raf->Read($s, 2) == 2
7317 0 1675 unless defined $len and $len >= 2
7320 0 1675 unless $raf->Read($buff, $len) == $len
7324 0 0 unless $raf->Read($s, 4) == 4
7326 0 0 unless defined $len and $len >= 4
7329 0 0 unless $raf->Seek($len, 1)
7336 0 0 if (not $n) { }
0 0 elsif ($n > 1) { }
7345 271 1675 unless defined $marker
7352 0 0 if ($skipped and not $foundSOS and $markerName ne "SOS")
7354 0 0 if ($htmlDump)
7363 247 1699 if (($marker & 240) == 192 and $marker == 192 || $marker & 3) { }
23 1676 elsif ($marker == 217) { }
247 1429 elsif ($marker == 218) { }
1 1428 elsif ($marker == 147) { }
0 1428 elsif (defined $markerLenBytes{$marker}) { }
1 1631 elsif ($marker == 219 and length $$segDataPt and $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2) { }
7365 2 245 if ($verbose) { }
0 245 elsif ($htmlDump) { }
7367 1 1 if $verbose > 2
7372 0 247 if $length < 6 or $gotSize
7382 0 247 unless $n == 3 and $length >= 15
7391 247 494 unless ($i)
7397 247 247 if $hf < $hmin
7398 0 494 if $hf > $hmax
7399 246 248 if $vf < $vmin
7400 0 494 if $vf > $vmax
7402 247 0 if ($hmin and $vmin)
7409 1 22 if $verbose
7411 23 0 unless $self->{'DOC_NUM'}
7412 0 23 if ($htmlDump and $dumpEnd)
7417 23 0 if ($foundSOS or $self->{'FILE_TYPE'} eq 'EXV') { }
7422 0 23 if ($req->{'trailer'})
7424 0 0 if ($raf->Seek(0, 2)) { }
7426 0 0 if ($len)
7429 0 0 if $raf->Read($buff, $len) == $len
7437 0 23 if ($wantTrailer)
7439 0 0 if ($start or $options->{'ExtractEmbedded'})
7445 0 0 $self->{'Make'} =~ /Sony/i ? :
7446 0 0 if ($raf->Read($buff, $scanLen))
7447 0 0 if ($buff =~ /^.{4}ftyp/s) { }
0 0 elsif ($buff =~ /\xff\xd8\xff./g or $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g) { }
7449 0 0 if ($raf->Seek(0, 2)) { }
7451 0 0 if ($options->{'Binary'}) { }
7452 0 0 if $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
7456 0 0 if ($val) { }
7469 0 0 if ($start and $start ne $actual and $verbose > 1)
7473 0 0 if ($start)
7474 0 0 if $self->{'VALUE'}{'PreviewImageStart'}
7478 0 0 if ($self->{'PreviewError'} and $self->{'PreviewImageLength'})
7479 0 0 if ($raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'}))
7492 20 3 if ($trailInfo)
7499 0 23 if ($self->{'LeicaTrailer'})
7506 1 22 if ($verbose or $htmlDump)
7508 1 0 unless ($endPos)
7513 0 1 if $endPos > $pos
7518 0 23 if $calcImageLen
7524 2 245 if $verbose
7527 2 245 if (%extendedXMP)
7533 2 0 if $readGuid eq 1
7535 0 2 unless length $guid == 32
7540 0 3 unless defined $extXMP->{$off}
7544 0 2 unless ($off == $extXMP->{'Size'})
7548 2 0 if ($guid eq $readGuid or $readGuid eq '2') { }
7549 0 2 if $guid ne $goodGuid
7564 0 0 if $guid ne $goodGuid
7566 0 2 if $warn
7570 246 1 unless ($fast)
7573 29 0 if ($trailInfo and $verbose < 3 and not $htmlDump)
7576 9 20 if $self->ProcessTrailers($trailInfo)
7578 0 0 if ($wantTrailer and $self->{'PreviewImageStart'})
7582 0 0 if ($raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4 and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/)
7588 0 0 unless $raf->Seek($curPos, 0)
7591 0 246 if ($self->{'LeicaTrailer'}) { }
0 246 elsif ($options->{'ExtractEmbedded'} or $self->{'VALUE'}{'HiddenDataOffset'} and $self->{'VALUE'}{'HiddenDataLength'} and $options->{'Validate'} || $req->{'hiddendata'}) { }
7594 0 0 if $self->{'LeicaTrailer'}
7600 1 225 if $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump
7603 0 226 if $options->{'Validate'} or $calcImageLen or $req->{'trailer'} or $hash
7609 0 1 if $verbose
7611 0 1 if ($hash and $self->{'FILE_TYPE'} eq "JP2")
7616 0 1 if $verbose > 2 or $htmlDump
7620 0 0 if ($verbose and $marker)
7621 0 0 if $verbose < 4 and ($marker & 248) == 208
7635 1 0 if $num < 4
7641 896 532 if ($marker & 240) == 224
7642 6 1422 if ($verbose)
7644 3 3 if ($verbose > 2)
7646 0 3 if $verbose == 4
7660 108 1320 if ($marker == 224) { }
280 1040 elsif ($marker == 225) { }
121 919 elsif ($marker == 226) { }
21 898 elsif ($marker == 227) { }
1 897 elsif ($marker == 228) { }
21 876 elsif ($marker == 229) { }
38 838 elsif ($marker == 230) { }
20 818 elsif ($marker == 231) { }
20 798 elsif ($marker == 232) { }
20 778 elsif ($marker == 233) { }
19 759 elsif ($marker == 234) { }
38 721 elsif ($marker == 235) { }
40 681 elsif ($marker == 236) { }
85 596 elsif ($marker == 237) { }
45 551 elsif ($marker == 238) { }
19 532 elsif ($marker == 239) { }
27 505 elsif ($marker == 254) { }
2 503 elsif ($marker == 100) { }
1 502 elsif ($marker == 81) { }
502 0 elsif (($marker & 240) != 224) { }
7661 51 57 if ($$segDataPt =~ /^JFIF\0/) { }
19 38 elsif ($$segDataPt =~ /^JFXX\0(\x10|\x11|\x13)/) { }
19 19 elsif ($$segDataPt =~ /^(II|MM).{4}HEAPJPGM/s) { }
19 0 elsif ($$segDataPt =~ /^(AVI1|Ocad)/) { }
7674 0 19 if $fast > 1
7693 203 77 if ($$segDataPt =~ /^(.{0,4})Exif\0./is) { }
3 74 elsif ($$segDataPt =~ /^$Image::ExifTool::xmpExtAPP1hdr/) { }
1 73 elsif ($$segDataPt =~ /^QVCI\0/) { }
1 72 elsif ($$segDataPt =~ /^FLIR\0/ and $length >= 8) { }
0 72 elsif ($$segDataPt =~ /^PARROT\0(II\x2a\0|MM\0\x2a)/) { }
7698 0 203 if (length $1) { }
0 203 elsif (not $$segDataPt =~ /^Exif\0/) { }
7704 0 203 if ($htmlDump)
7710 0 203 if (defined $combinedSegData)
7718 0 203 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/)
7722 0 0 unless (defined $combinedSegData)
7735 0 203 if @skipData
7737 0 203 unless $self->ProcessTIFF(\%dirInfo)
7739 0 0 if ($self->{'Make'} eq "vivo" and not $self->{'VALUE'}{'UserComment'} && $self->{'VALUE'}{'UserComment'} =~ /^filter:/ and $$dataPt =~ /(filter: .*?; \n)\0/gs)
7744 0 0 if ($htmlDump)
7756 187 4 if (not $start or not $plen and $self->{'PreviewError'})
7760 0 0 if ($start and $plen and &IsInt($start) and &IsInt($plen) and $start + $plen > $self->{'EXIF_POS'} + length($self->{'EXIF_DATA'}) and $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'})
7770 0 203 if (@skipData)
7783 3 0 if ($length > 75) { }
7786 0 3 if ($guid =~ /[^A-Za-z0-9]/) { }
7790 2 1 if (not $extXMP) { }
0 1 elsif ($size != $extXMP->{'Size'}) { }
7814 0 1 if $verbose
7816 0 1 if (defined $flirTotal) { }
7818 0 0 if $chunksTot != $flirTotal
7823 1 0 if (defined $flirCount) { }
7824 0 1 if (defined $flirChunk[$chunkNum]) { }
7831 1 0 if (++$flirCount >= $flirTotal)
7855 72 0 if ($$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/)
7859 72 0 $$segDataPt =~ /^$Image::ExifTool::xmpAPP1hdr/ ? :
7862 72 0 $start ? :
7864 0 72 if ($processed and not $start)
7868 0 72 if ($verbose and not $processed)
7873 34 87 if ($$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14) { }
67 20 elsif ($$segDataPt =~ /^FPXR\0/) { }
19 1 elsif ($$segDataPt =~ /^MPF\0/) { }
1 0 elsif ($$segDataPt =~ /^....IJPEG\0/s) { }
0 0 elsif ($$segDataPt =~ /^(|QVGA\0|BGTH)\xff\xd8\xff[\xdb\xe0\xe1]/) { }
0 0 elsif ($$segDataPt =~ /^urn:/) { }
0 0 elsif ($preview) { }
7879 0 34 if $verbose
7880 0 34 if (defined $iccChunksTotal) { }
7882 0 0 if $chunksTot != $iccChunksTotal
7886 0 34 unless $chunksTot
7888 34 0 if (defined $iccChunkCount) { }
7889 0 34 if (defined $iccChunk[$chunkNum]) { }
7896 34 0 if (++$iccChunkCount >= $iccChunksTotal)
7916 0 67 if $fast > 1
7926 0 19 if ($htmlDump)
7952 0 121 if ($preview and $nextMarker ne $marker)
7957 19 2 if ($$segDataPt =~ /^(Meta|META|Exif)\0\0/) { }
0 2 elsif ($$segDataPt =~ /^Stim\0/) { }
1 1 elsif ($$segDataPt =~ /^_JPSJPS_/) { }
1 0 elsif ($self->{'HasIJPEG'} or $self->{'Make'} eq 'DJI') { }
0 0 elsif ($$segDataPt =~ /^\xff\xd8\xff\xdb/) { }
7960 0 19 if ($htmlDump)
7969 0 0 if ($htmlDump)
7979 1 0 if $self->{'FILE_TYPE'} eq "JPEG"
7984 1 0 $self->{'HasIJPEG'} ? :
7987 0 1 if (defined $combinedSegData)
7991 0 1 if ($nextMarker == $marker) { }
7992 0 0 unless defined $combinedSegData
8003 0 21 if ($preview and $nextMarker ne 228)
8008 0 1 if ($$segDataPt =~ /^SCALADO\0/ and $length >= 16) { }
0 1 elsif ($$segDataPt =~ /^Qualcomm Dual Camera Attributes/) { }
0 1 elsif ($$segDataPt =~ /^FPXR\0/) { }
0 1 elsif ($self->{'Make'} eq 'DJI' and $$segDataPt =~ /^\xaa\x55\x12\x06/) { }
0 1 elsif ($self->{'Make'} eq 'DJI' and $$segDataPt =~ /^(.{32})?.{32}\x2c\x01\x20\0/s) { }
0 1 elsif ($self->{'Make'} eq 'DJI' and $$segDataPt =~ /^.{32}\xaa\x55\x38\0/s) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 120) { }
0 0 elsif ($preview) { }
8012 0 0 unless defined $scalado
8014 0 0 if ($idx == $num - 1)
8015 0 0 if ($len != length $scalado)
8033 0 0 if $fast > 1
8046 0 0 $1 ? :
8066 0 1 if ($preview and $nextMarker ne 229)
8071 20 1 if ($$segDataPt =~ /^RMETA\0/) { }
0 1 elsif ($$segDataPt =~ /^ssuniqueid\0/) { }
0 1 elsif ($self->{'Make'} eq 'DJI') { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 38) { }
0 0 elsif ($preview) { }
8097 18 20 if ($$segDataPt =~ /^EPPIM\0/) { }
18 2 elsif ($$segDataPt =~ /^NITF\0/) { }
0 2 elsif ($$segDataPt =~ /^TDHD\x01\0\0\0/ and $length > 12) { }
1 1 elsif ($$segDataPt =~ /^GoPro\0/) { }
0 1 elsif ($$segDataPt =~ /^DTAT\0\0.\{/s) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 129) { }
8100 0 18 if ($htmlDump)
8136 0 20 if ($$segDataPt =~ /^(PENTAX |RICOH)\0(II|MM)/) { }
0 20 elsif ($$segDataPt =~ /^HUAWEI\0\0(II|MM)/) { }
0 20 elsif ($$segDataPt =~ /^DJI-DBG\0/) { }
19 1 elsif ($$segDataPt =~ /^\x1aQualcomm Camera Attributes/) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 32) { }
8144 0 0 if ($htmlDump)
8157 0 0 if ($htmlDump)
8189 19 1 if ($$segDataPt =~ /^SPIFF\0/ and $length == 32) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 32) { }
0 0 elsif ($$segDataPt =~ /^SEAL\0/) { }
8205 19 1 if ($$segDataPt =~ /^Media Jukebox\0/ and $length > 22) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 768) { }
0 0 elsif ($$segDataPt =~ /^SEAL\0/) { }
8224 19 0 if ($$segDataPt =~ /^UNICODE\0/) { }
0 0 elsif ($$segDataPt =~ /^AROT\0\0.{4}/s) { }
8233 19 19 if ($$segDataPt =~ /^HDR_RI /) { }
19 0 elsif ($$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16) { }
8236 0 19 if (defined $combinedSegData)
8237 0 0 if ($$segDataPt =~ /~\0/g) { }
8244 0 19 if ($nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /) { }
8245 0 0 unless defined $combinedSegData
8262 0 19 if ($type eq "bmuj")
8270 0 19 if ($len == 1 and length $$segDataPt >= 24) { }
8277 19 0 unless $jumbfChunk{$type}
8278 0 19 if ($len < $hdrLen) { }
0 19 elsif (defined $jumbfChunk{$type}[$seq] and length $jumbfChunk{$type}[$seq]) { }
8283 0 19 unless $seq
8289 0 38 unless defined $_
8292 19 0 if ($size == $len)
8305 21 19 if ($$segDataPt =~ /^Ducky/) { }
8312 19 0 if $self->ProcessDirectory(\%dirInfo, $tagTablePtr)
8316 66 19 if ($$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1) { }
19 0 elsif ($$segDataPt =~ /^Adobe_CM/) { }
8320 0 66 if (defined $combinedSegData)
8325 0 66 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/) { }
8327 0 0 unless defined $combinedSegData
8330 0 66 $isOld ? :
8352 45 0 if ($$segDataPt =~ /^Adobe/)
8354 15 30 if ($req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'})
8367 19 0 if ($$segDataPt =~ /^Q\s*(\d+)/ and $length == 4)
8378 2 0 if ($length > 2)
8381 2 0 if $reg == 1
8383 0 2 $reg == 0 || $reg == 65535 ? :
8387 1 0 unless ($gotSize)
8396 1169 56 if (defined $dumpType)
8397 0 1169 if ($useJpegMain)
8401 0 1 if (not $dumpType and $options->{'Unknown'} || $options->{'Validate'})
8402 0 0 $$segDataPt =~ /^([\x20-\x7e]{1,20})\0/ ? :
8403 0 0 unless $xtra
8406 0 1169 if ($htmlDump)
8407 0 0 $dumpType ? :
0 0 unless $desc
8415 0 250 if $hashsize and $verbose
8417 1 249 if (@dqt)
8422 0 250 if %jumbfChunk
8423 0 250 if defined $iccChunkCount
8424 0 250 if defined $flirCount
8425 0 250 if $self->{'PreviewError'}
8426 0 250 unless $success
8427 0 250 if @$path > $pn
8461 108 394 if (defined $exifData)
8496 47 455 if ($raf) { }
411 44 elsif ($dataPt and length $$dataPt) { }
44 0 elsif ($outfile) { }
8498 14 33 if ($outfile) { }
8499 0 14 unless $raf->Seek(0, 0)
8500 0 14 if ($base)
8501 0 0 unless $raf->Read($$dataPt, $base) == $base
8502 0 0 unless &Write($outfile, $$dataPt)
8505 0 33 unless $raf->Seek($base, 0)
8508 3 44 $fileType eq 'EXIF' ? :
8510 1 46 if ($n < 8)
8511 0 1 if $n or not $outfile or $fileType ne "EXIF"
8516 2 45 if ($n > 8)
8518 0 2 if ($n == $amount)
8527 411 0 if ($dirLen > 0 or not $outfile) { }
8532 0 411 if $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
8538 45 457 unless (defined $self->{'EXIF_DATA'})
8541 0 45 if ($dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS")
8545 36 9 if ($self->SetPreferredByteOrder($defaultByteOrder) eq 'MM') { }
8552 394 108 unless defined $self->{'FIRST_EXIF_POS'}
8557 6 496 unless &SetByteOrder($byteOrder)
8565 0 496 if $fileType eq "APP1" and $identifier != 42
8568 0 496 if length $$dataPt < 8
8570 0 496 unless $offset >= 8
8572 40 456 if ($raf)
8576 17 23 if ($identifier == 42 and $offset >= 16) { }
3 20 elsif ($identifier == 85 and $fileType =~ /^(RAW|RW2|RWL|TIFF)$/) { }
13 7 elsif ($fileType eq 'TIFF') { }
0 7 elsif ($fileType eq 'ARW') { }
8577 0 17 unless $raf->Read($sig, 8) == 8
8579 10 7 if ($sig =~ /^(CR\x02\0|\xba\xb0\xac\xbb|ExifMeta)/)
8580 1 9 if ($sig eq 'ExifMeta') { }
8584 9 0 $sig =~ /^CR/ ? :
8587 0 10 if $self->{'HTML_DUMP'}
8593 3 0 if ($offset >= 24 and $raf->Read($magic, 16) and $magic eq "\210\347t\330\370%\035M\224znw\202+]j") { }
8596 3 0 unless $fileType eq "RWL"
8597 0 3 if $self->{'HTML_DUMP'}
8604 0 13 if ($identifier == 43) { }
0 13 elsif ($identifier == 20306 or $identifier == 21330) { }
0 13 elsif ($identifier == 17234) { }
0 26 elsif ($byteOrder eq 'II' and ($identifier & 255) == 188) { }
8609 0 0 if ($result)
8610 0 0 if $self->{'MultiPage'}
8622 0 0 if ($ver > 1)
8631 38 2 if ($fileType and not $self->{'VALUE'}{'FileType'})
8633 0 38 unless ref $lookup or not $lookup
8635 0 38 ref $lookup->[0] ? :
38 0 $lookup ? :
8636 37 1 $baseType eq 'TIFF' || $fileType =~ /RAW/ ? :
8640 0 27 if not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} > 2
8643 18 478 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/ ? :
8644 420 76 if (not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq 'EXIF') { }
19 57 elsif ($tagTablePtr->{'GROUPS'}{'0'} eq 'MakerNotes') { }
8645 298 122 unless $outfile
8652 0 496 if ($self->{'HTML_DUMP'})
8653 0 0 $byteOrder eq 'II' ? :
8661 243 253 unless $tagTablePtr
8679 370 126 unless ($outfile)
8683 7 363 if ($self->{'VALUE'}{'GeoTiffDirectory'})
8688 27 343 if ($raf)
8690 3 24 if ($trailInfo)
8697 0 0 if ($self->{'HTML_DUMP'} and $self->{'KnownTrailer'})
8701 0 0 if $trailInfo
8702 0 0 if $len > 0
8706 0 2 if ($self->{'DNGVersion'} and $self->{'FILE_TYPE'} eq "TIFF" and not $self->{'FileType'} =~ /^(DNG|GPR)$/)
8710 10 360 if ($self->{'TIFF_TYPE'} eq 'TIFF') { }
0 360 elsif ($self->{'TIFF_TYPE'} eq 'NRW' and $self->{'VALUE'}{'NEFLinearizationTable'}) { }
8711 0 10 if $self->{'MultiPage'}
8716 0 0 if ($self->{'ImageDataHash'} and $self->{'A100DataOffset'} and $raf->Seek($self->{'A100DataOffset'}, 0))
8724 1 125 if ($dirInfo->{'NoTiffEnd'}) { }
8730 3 123 if ($canonSig) { }
8735 0 3 unless Image::ExifTool::CanonRaw::WriteCR2($self, \%dirInfo, $tagTablePtr)
8738 3 120 if ($fileType eq 'EXIF') { }
119 1 elsif (not defined $otherSig) { }
8750 1 122 if $fileType eq "ORF" or $identifier != 42
8752 0 123 if (not defined $newData) { }
117 6 elsif (length $newData) { }
8757 5 112 if ($hdrLen != 8)
8761 0 0 if $pi and $pi->{'Fixup'}
8763 0 117 if ($self->{'TIFF_TYPE'} eq 'ARW' and not $err) { }
8768 0 0 if $errStr
8771 0 117 unless &Write($outfile, $header, $newData)
8776 10 113 if (ref $dirInfo{'ImageData'} and not $err)
8777 0 10 unless $self->CopyImageData($dirInfo{'ImageData'}, $outfile)
8786 12 1 if ($raf and $tiffEnd and not $err)
8788 0 12 unless $raf->Seek(0, 2)
8792 9 3 unless $extra > 12
8795 3 0 unless $trailInfo
8801 0 0 unless ($self->ProcessTrailers($trailInfo))
8811 1 11 if ($extra > 0 and $tiffEnd & 1)
8812 0 1 unless $raf->Seek($tiffEnd, 0)
8813 0 1 unless $raf->Read($buf, 1)
8814 1 0 if defined $buf and $buf eq "\0"
8816 3 9 if ($extra > 0)
8818 0 3 if ($self->{'DEL_GROUP'}{'Trailer'} and not $known) { }
0 3 elsif ($known) { }
8823 0 0 unless $raf->Seek($tiffEnd, 0)
8824 0 0 unless &CopyBlock($raf, $outfile, $extra)
8826 0 3 unless $raf->Seek($tiffEnd, 0)
8831 0 3 $size > 65536 ? :
8832 0 3 unless $raf->Read($buf, $n) == $n
8833 3 0 if ($buf =~ /[^\0]/)
8836 0 3 if $size != $extra
8837 0 3 unless &Write($outfile, $buf)
8838 0 3 if $size > $n
8842 0 0 if $size > 0
8849 0 12 if $trailInfo
8852 2 10 if $trailPt
8855 1 125 if ($self->{'DNGVersion'})
8858 0 1 unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.7")
8863 0 126 $err ? :
8876 450351 68179 unless $Image::ExifTool::specialTags{$_}
8895 4 97406 unless my $tableName = shift()
8898 4822 92584 unless ($table)
8900 919 3903 unless (%$tableName)
8902 919 0 if ($tableName =~ /(.*)::/)
8904 0 919 if (not eval "require $module") { }
28 891 elsif (not %$tableName) { }
8905 0 0 if $@
8908 28 0 if ($module eq 'Image::ExifTool::XMP') { }
0 0 elsif ($tableName eq 'Image::ExifTool::QuickTime::Stream') { }
8915 0 919 unless %$tableName
8920 13 4809 if $table->{'INIT_TABLE'}
8925 129 4693 unless $defaultGroups
8926 3827 995 unless ($defaultGroups->{'0'} and $defaultGroups->{'1'})
8927 3827 0 if ($tableName =~ /Image::.*?::([^:]*)/) { }
8928 1423 2404 unless $defaultGroups->{'0'}
8929 3141 686 unless $defaultGroups->{'1'}
8931 0 0 unless $defaultGroups->{'0'}
8932 0 0 unless $defaultGroups->{'1'}
8935 288 4534 unless $defaultGroups->{'2'}
8936 548 4274 if ($defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'})
8941 24 524 unless $table->{'WRITE_PROC'}
8942 68 480 unless $table->{'CHECK_PROC'}
8943 65 483 unless $table->{'LANG_INFO'}
8946 4688 134 unless (defined $table->{'TAG_PREFIX'})
8948 4688 0 if ($tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/) { }
8958 2 631 if (%Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite)
8961 0 3 if $Image::ExifTool::specialTags{$tagID}
8973 0 142 if ($table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName})
8994 0 5229 unless $tagTablePtr and $dirInfo
8996 4800 429 unless $proc
8999 704 4525 unless ($dirName)
9001 186 518 if $dirName =~ /^APP\d+$/
9006 4419 49 if (defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'}))
9011 0 4419 if ($self->{'PROCESSED'}{$addr} and not $dirInfo->{'NotDup'})
9014 0 0 unless $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
9016 4419 0 unless $tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'ALLOW_REPROCESS'}
9055 1897 142 if ($filename and $filename =~ /^.*\.([^.]+)$/s)
9059 34 1863 if $fileExt eq "TIF"
9074 0 607327 if ($Image::ExifTool::specialTags{$tagID}) { }
553383 53944 elsif (ref $tagInfo eq 'HASH') { }
11783 42161 elsif (ref $tagInfo eq 'ARRAY') { }
37634 4527 elsif ($tagInfo) { }
9110 14284 106115 if ($condition)
9111 880 13404 if @_ > 3
9112 695 13589 if $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
9117 11043 2546 unless (eval $condition)
9118 0 11043 if $@
9119 0 11043 if $Image::ExifTool::evalWarning
9124 1957 284 if ($tagInfo->{'Unknown'} and not $options->{'Unknown'} and !$self->{'IsWriting'} || $tagInfo->{'AddedUnknown'} and not $options->{'Verbose'} || $self->{'HTML_DUMP'} || $options->{'Validate'} && !$tagInfo->{'AddedUnknown'})
9135 589 4777 if (not $tagInfo and $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}) { }
9139 155 434 if (defined $tagTablePtr->{'PRINT_CONV'}) { }
9177 0 0 $tagInfo ? :
0 7224 unless ref $tagInfo eq "HASH"
9180 496 6728 if ($tagInfo->{'Groups'}) { }
9183 954 534 if $tagInfo->{'Groups'}{$_}
9189 60 7164 if $tagInfo->{'Flags'}
9193 1854 5370 unless defined $tagInfo->{'Hidden'}
9194 1744 5480 if (defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'})
9199 516 6708 unless defined $name
9203 514 2 unless (defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'})
9209 13 7211 if length $name < 2 or not $name =~ /^[A-Z]/i
9213 7157 0 unless (defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID})
9216 1125 6099 if $tagInfo->{'Unknown'}
9234 7588 2181 defined $val ? :
9240 0 2195 if (not $tagInfo and defined $tagInfo and $dataPt)
9243 0 0 unless defined $size
9244 0 0 if $start + $size > length $$dataPt
9245 0 0 if $size > 1024
9249 7574 2195 if ($tagInfo) { }
0 2195 elsif ($parms{'MakeTagInfo'}) { }
9252 0 0 if $verbose
9257 0 0 if length $name < 2 or $name =~ /^[-0-9]/
9261 2195 0 unless $verbose
9266 0 577 unless (defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'})
9268 890 0 $dataPt ? :
9270 7 883 unless defined $size
9272 890 0 if ($start >= 0 and $start + $size <= $dLen) { }
9274 331 0 if not $format and $pfmt and $formatSize{$pfmt}
9275 452 438 if (not $format) { }
438 0 elsif (not $tagInfo->{'ByteOrder'}) { }
9284 0 890 if $self->{'OPTIONS'}{'SaveBin'}
9291 51 7523 if ($verbose)
9292 0 51 if $noTagInfo
9294 0 51 if defined $rational
9296 0 51 if ($format)
9302 7574 0 if ($tagInfo)
9303 752 6822 if ($subdir)
9304 0 12 if ($tagInfo->{'MakerNotes'} and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} > 1)
9309 1 751 if ($tagInfo->{'RawConv'} and not $tagInfo->{'Writable'}) { }
13 738 elsif (not $dataPt) { }
9313 0 1 if (ref $conv eq 'CODE') { }
9320 0 1 if $@
9322 0 1 if $Image::ExifTool::evalWarning
9323 0 1 unless defined $val
9324 1 0 ref $val eq 'SCALAR' ? :
9328 1 12 ref $val eq 'SCALAR' ? :
9330 8 744 if ($subdir->{'Start'})
9353 3 749 if ($subdir->{'ByteOrder'})
9354 1 2 if ($subdir->{'ByteOrder'} eq 'Unknown') { }
9355 1 0 if ($subdirStart + 2 <= $subdirLen)
9358 1 0 if $num & 65280 and $num >> 8 > ($num & 255)
9368 752 0 unless $tagInfo->{'Writable'}
9371 6813 9 if (defined $key)
9373 12 6801 if defined $rational
9374 0 6813 if defined $binVal
9395 53646 7805 if (ref $tagInfo eq 'HASH') { }
9396 0 53646 unless $tag = $tagInfo->{'Name'}
9405 2 7803 unless $tagInfo
9406 39 7766 if $options->{'Verbose'}
9410 55145 6306 unless (defined $priority)
9412 55 52991 if not defined $priority and $tagInfo->{'Avoid'}
9414 61437 14 unless $grps[0]
9415 61437 14 unless $grps[1]
9416 0 61451 if ($options->{'IgnoreGroups'})
9419 0 0 if $options->{'IgnoreGroups'}{$g} or $options->{'IgnoreGroups'}{"$_$g"}
9424 9926 51525 if ($tagInfo->{'RawConv'})
9427 1840 0 if (ref $value eq "HASH" and $tagInfo->{'IsComposite'})
9433 241 9685 if (ref $conv eq 'CODE') { }
9435 0 241 if $self->{'grps'}
9441 0 9685 if $@
9443 0 9926 if $Image::ExifTool::evalWarning
9444 2734 7192 unless defined $value
9447 0 58717 if ($options->{'IgnoreTags'})
9448 0 0 if ($options->{'IgnoreTags'}{'all'}) { }
9449 0 0 unless $self->{'REQ_TAG_LOOKUP'}{lc $tag}
9451 0 0 if $options->{'IgnoreTags'}{lc $tag}
9455 7031 51686 if (defined $valueHash->{$tag}) { }
1915 49771 elsif ($priority) { }
9457 701 6330 if ($self->{'LIST_TAGS'}{$tagInfo})
9459 65 636 if (defined $self->{'NO_LIST'}) { }
9461 31 34 if (defined $self->{'TAG_EXTRA'}{$tag}{'NoList'}) { }
9468 319 317 if (ref $valueHash->{$tag} ne "ARRAY")
9485 5404 991 unless ($oldPriority)
9486 5369 35 if ($self->{'DOC_NUM'} or $tag eq 'Warning' or not $self->{'TAG_EXTRA'}{$tag}{'G3'}) { }
9493 2134 4261 if (defined $priority) { }
411 3850 elsif ($self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}) { }
9496 40 1998 if not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
9504 2953 3442 if ($priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'} and not $noListDel) { }
9517 7 2946 if $self->{'LIST_TAGS'}{$oldInfo}
9519 97 2856 if ($self->{'COMP_KEYS'}{$tag})
9528 65 6330 if $noListDel
9539 55063 3018 unless $self->{'TAG_EXTRA'}{$tag}
9541 517 57564 if $grps[0]
9542 4701 53380 if $grps[1]
9543 1798 56283 if ($self->{'DOC_NUM'})
9546 1798 0 if ($self->{'DOC_NUM'} =~ /^(\d+)/)
9548 33 1765 unless $self->{'DOC_COUNT'} >= $1
9552 258 57823 if $options->{'SavePath'}
9556 1166 181 if ($tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel)
9563 213 57868 if ($options->{'Validate'} and not ref $value)
9576 22 0 unless $self->{'PRIORITY_DIR'}
9585 0 13782 defined $fam ? :
9608 167 6 if (not ref $_[0]) { }
4 2 elsif (ref $_[0] eq 'ARRAY') { }
0 2 elsif (ref $_[0] eq 'HASH') { }
9632 627 49 unless ($self->{'FileType'} and not $self->{'DOC_NUM'})
9635 478 149 unless $fileType
9637 275 308 if (defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'})
9639 10 250 if (ref $f eq "ARRAY" and ref $e eq "ARRAY" and $f->[0] eq $e->[0])
9641 4 6 if $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
9644 602 25 unless $mimeType
9646 21 606 unless $mimeType or $baseType eq "TIFF"
9647 617 10 unless (defined $normExt)
9649 351 266 unless defined $normExt
9652 627 0 unless $self->{'DOC_NUM'}
9666 12 6 if (defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'})
9669 5 7 unless (defined $normExt)
9671 5 0 unless defined $normExt
9674 12 0 unless $mimeType
9675 5 7 if $mimeType
9676 0 12 if ($self->{'OPTIONS'}{'Verbose'})
9679 0 0 if $mimeType
9691 0 8 unless $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
9693 8 0 if (defined $old) { }
9711 4 12488 if ($self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level)
9714 0 4 unless $_[-1] =~ /\n$/
9726 1965 44 unless $self->{'OPTIONS'}{'Verbose'}
9727 0 44 if (ref $name eq "HASH")
9728 0 0 unless $size
9733 22 22 $entries || defined $entries && !$size ? :
9734 22 22 if $size
9735 11 33 if ($byteOrder and $self->{'OPTIONS'}{'Verbose'} > 2)
9736 11 0 &GetByteOrder() eq 'II' ? :
9749 0 1666 if ($verbose and $verbose > 2)
9753 0 0 $verbose < 5 ? :
0 0 $verbose < 4 ? :
9781 43 4 if ($tag)
9782 29 14 if ($tag eq "PreviewImage")
9790 32 2 if (!$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $options->{'Verbose'} and not $options->{'Validate'} and not $self->{'REQ_TAG_LOOKUP'}{$lcTag})
9797 5 10 unless ($self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length)
9800 0 5 unless $tag
9801 0 5 if ($isPreview and not $self->{'BuildingComposite'}) { }
9830 33 2190 if not defined $size or $size > $maxLen
9834 0 2223 unless ($increment)
9841 0 2223 if ($unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}) { }
220 2003 elsif ($dirInfo->{'DataMember'}) { }
48 1955 elsif ($dirInfo->{'MixedTags'}) { }
9843 0 0 $size < 65536 ? :
9849 0 0 if @ftags
9858 0 58323 $a < 0 ? :
0 58323 $b < 0 ? :
9860 19 2204 if $verbose
9862 2223 0 if $unknown < 2
9868 18417 0 if ($tagTablePtr->{$index}) { }
0 0 elsif ($topIndex and $$tagTablePtr{$index - $topIndex}) { }
9870 789 17628 unless ($tagInfo)
9871 738 51 unless defined $tagInfo
9874 0 51 if ($entry < 0)
9876 0 0 if $entry < 0
9878 44 7 if $entry >= $size
9880 0 7 if $more > 128
9883 0 7 unless $tagInfo
9886 1 261 if $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
9888 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index - $topIndex)
9891 0 0 unless $unknown > 1
9892 0 0 if $index < $nextIndex
9893 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index)
9899 0 17634 if ($entry < 0)
9901 0 0 if $entry < 0
9904 304 17330 if $more <= 0
9907 9973 7357 if (not $format) { }
127 7230 elsif ($format eq 'string') { }
0 7230 elsif ($format eq 'pstring') { }
3353 3877 elsif (not $formatSize{$format}) { }
9917 3168 185 if ($format =~ /(.*)\[(.*)\]/) { }
185 0 elsif ($format =~ /^var_/) { }
9924 0 3168 if $@
9925 0 3168 if $count < 0
9929 0 3168 if ($format =~ s/^var_//)
9933 0 0 if ($dirInfo->{'VarFormatData'})
9938 0 0 if $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
9945 0 185 if ($format eq 'ustring') { }
0 185 elsif ($format eq 'pstring') { }
170 15 elsif ($format eq 'pstr32' or $format eq 'ustr32') { }
10 5 elsif ($format eq 'int16u') { }
3 2 elsif ($format eq 'ue7') { }
2 0 elsif ($$dataPt =~ /\0/g) { }
9946 0 0 if $$dataPt =~ /\G(..)*?\0\0/gs
9952 0 170 if $more < 4
9954 168 2 if $format eq "ustr32"
9960 0 10 if $more < 2
9967 0 3 unless defined $val
9973 0 185 if not defined $count or $count > $more
9975 182 3 unless (defined $val)
9977 168 14 if $format eq "ustring" or $format eq "ustr32"
9978 172 10 unless $format eq "undef"
9980 0 185 if $self->{'OPTIONS'}{'SaveBin'}
9983 5 180 if ($dirInfo->{'VarFormatData'})
9989 690 16640 if (defined $tagInfo->{'Hook'})
9995 322 368 if ($dirInfo->{'VarFormatData'}) { }
0 735 elsif ($varSize != $oldVarSize and $verbose > 2) { }
9996 0 322 if $wasVar
10000 0 0 if $tmp < 0
10004 0 17330 if ($unknown > 1)
10007 0 0 unless $wasVar
10009 0 0 unless $nextIndex > $ni
10013 0 17330 if $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
10015 17145 185 unless (defined $val and not $tagInfo->{'SubDirectory'})
10017 0 17145 unless defined $val
10019 391 16754 if $mask
10021 198 17132 if ($verbose and not $tagInfo->{'Hidden'})
10022 198 0 if (not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}) { }
10024 0 198 if $len > $more
10028 0 198 $mask ? :
10041 14 17316 if ($tagInfo->{'SubDirectory'})
10045 12 2 if ($tagInfo->{'Format'} and $formatSize{$format}) { }
10047 0 12 if $len > $more
10050 2 0 if ($subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData)
10058 0 14 if (defined $subdir->{'Base'})
10065 0 14 if ($start =~ /\$/) { }
10067 0 0 unless $val
10070 0 0 if $start < $dirStart or $start > $dataLen
10072 0 0 unless $len and $len <= $dataLen - $start
10088 14 0 if $unknown < 2
10091 38 17278 if ($tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3)
10094 19 19 if eval $tagInfo->{'IsOffset'}
10098 0 17316 if ($tagInfo->{'SetBase'})
10103 0 17316 if defined $oldBase
10104 15824 1492 if ($key) { }
10105 49 15775 if defined $rational
10106 0 15824 if defined $binVal
10109 0 1492 if defined $saveNextIndex