|  line  | 
 !l  | 
 l&&!r  | 
 l&&r  | 
 condition  | 
 
| 
174
 | 
 22  | 
 0  | 
 0  | 
 $basic and length $_ > 4  | 
 
| 
189
 | 
 0  | 
 144  | 
 0  | 
 $self->{'major'} == 3 and $size > 255  | 
 
| 
207
 | 
 0  | 
 0  | 
 0  | 
 $pos + 20 + $fsize < $self->{'data_size'} and exists $MP3::Tag::ID3v2::long_names{substr $self->{'tag_data'}, $pos + 10 + $fsize, 4}  | 
 
| 
251
 | 
 101  | 
 0  | 
 0  | 
 $basic and length $_ > 4  | 
 
| 
328
 | 
 302  | 
 425  | 
 0  | 
 wantarray and $self->{'extra_frames'}  | 
 
| 
 | 
 235  | 
 29  | 
 161  | 
 wantarray and $self->{'extra_frames'} and length $fname == 4  | 
 
| 
420
 | 
 0  | 
 0  | 
 11  | 
 $k == 5 and substr($fname, 0, 4) eq 'APIC'  | 
 
| 
456
 | 
 0  | 
 0  | 
 0  | 
 not $bin || ref $val and $descr =~ /^(MCDI|APIC)/  | 
 
| 
605
 | 
 0  | 
 78  | 
 0  | 
 $self->get_config('id3v23_unsync')->[0] and $self->{'version'} == 3 && $self->get_config('id3v23_unsync_size_w')->[0] || $self->{'version'} >= 4  | 
 
| 
777
 | 
 33  | 
 0  | 
 0  | 
 $raw_ok and $self->{'raw_data'}  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $raw_ok and $self->{'raw_data'} and not $self->{'modified'}  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $raw_ok and $self->{'raw_data'} and not $self->{'modified'} and not $update_file  | 
 
| 
780
 | 
 33  | 
 0  | 
 0  | 
 $self->{'major'} == 4 and not $self->get_config1('write_v24')  | 
 
| 
801
 | 
 0  | 
 33  | 
 0  | 
 $self->get_config('id3v23_unsync')->[0] and $tag_data =~ s/\xFF(?=[\x00\xE0-\xFF])/\377\000/g  | 
 
| 
803
 | 
 0  | 
 33  | 
 0  | 
 length $tag_data and "\377" eq substr($tag_data, -1, 1)  | 
 
| 
1016
 | 
 189  | 
 4  | 
 0  | 
 $_->{'optional'} and ++$opt  | 
 
| 
1019
 | 
 0  | 
 2  | 
 65  | 
 @data == $args - 1 - $opt || $split && @data <= $args - 1 - $opt and $format->[0]{'name'} eq '_encoding'  | 
 
| 
1022
 | 
 2  | 
 1  | 
 0  | 
 $format->[0]{'name'} eq '_encoding' and defined $data[0]  | 
 
| 
 | 
 3  | 
 0  | 
 0  | 
 $format->[0]{'name'} eq '_encoding' and defined $data[0] and not $data[0] =~ /^[0-3]?$/  | 
 
| 
1026
 | 
 44  | 
 21  | 
 3  | 
 $split and @data < $args  | 
 
| 
1042
 | 
 3  | 
 0  | 
 0  | 
 @data == $args + 1 and not defined $data[0]  | 
 
| 
 | 
 3  | 
 0  | 
 0  | 
 @data == $args + 1 and not defined $data[0] and $format->[0]{'name'} eq '_encoding'  | 
 
| 
1044
 | 
 0  | 
 0  | 
 68  | 
 @data <= $args and @data >= $args - $opt  | 
 
| 
1046
 | 
 3  | 
 0  | 
 65  | 
 $format->[0]{'name'} eq '_encoding' and not defined $data[0]  | 
 
| 
1055
 | 
 105  | 
 82  | 
 0  | 
 $fs->{'encoded'} and $d[0]  | 
 
| 
 | 
 2  | 
 80  | 
 0  | 
 $fs->{'encoded'} and $d[0] and $d[0] =~ /[^\x00-\xff]/  | 
 
| 
1060
 | 
 191  | 
 2  | 
 3  | 
 $fs->{'optional'} and not @data  | 
 
| 
1071
 | 
 0  | 
 21  | 
 100  | 
 exists $fs->{'len'} and not exists $fs->{'func'}  | 
 
| 
 | 
 21  | 
 0  | 
 0  | 
 exists $fs->{'mlen'} and $fs->{'mlen'} > 0  | 
 
| 
1076
 | 
 1  | 
 0  | 
 6  | 
 exists $fs->{'len'} and $fs->{'len'} > 0  | 
 
| 
1080
 | 
 6  | 
 0  | 
 1  | 
 exists $fs->{'mlen'} and $fs->{'mlen'} > 0  | 
 
| 
1108
 | 
 0  | 
 0  | 
 82  | 
 not $self->{'fixed_encoding'} and $self->get_config1('id3v2_fix_encoding_on_edit')  | 
 
| 
 | 
 0  | 
 82  | 
 0  | 
 not $self->{'fixed_encoding'} and $self->get_config1('id3v2_fix_encoding_on_edit') and $e = $self->botched_encoding  | 
 
| 
 | 
 82  | 
 0  | 
 0  | 
 not $self->{'fixed_encoding'} and $self->get_config1('id3v2_fix_encoding_on_edit') and $e = $self->botched_encoding and do {
	require Encode;
Encode::decode($e, $d) ne $d
}  | 
 
| 
1121
 | 
 0  | 
 0  | 
 0  | 
 $use_utf16le and $encoding == 1  | 
 
| 
1240
 | 
 0  | 
 0  | 
 0  | 
 not $expl and $fn =~ /^(GRID|TLEN)/  | 
 
| 
1385
 | 
 0  | 
 11  | 
 0  | 
 @_ == 1 and $_[0] eq ''  | 
 
| 
1388
 | 
 81  | 
 0  | 
 18  | 
 defined $_ && length $_  | 
 
| 
1427
 | 
 0  | 
 11  | 
 5  | 
 exists $comment->{'Description'} and not length $comment->{'Description'}  | 
 
| 
1429
 | 
 3  | 
 2  | 
 0  | 
 defined $language and !exists $comment->{'Language'} || lc $comment->{'Language'} ne $language  | 
 
| 
1478
 | 
 0  | 
 0  | 
 1  | 
 exists $comment->{'Description'} and $comment->{'Description'} eq $desc  | 
 
| 
1480
 | 
 0  | 
 1  | 
 0  | 
 defined $language and !exists $comment->{'Language'} || lc $comment->{'Language'} ne lc $language  | 
 
| 
1485
 | 
 1  | 
 0  | 
 0  | 
 @_ == 1 and $_[0] eq ''  | 
 
| 
1602
 | 
 89  | 
 0  | 
 124  | 
 defined $descr and not ref $descr  | 
 
| 
1643
 | 
 194  | 
 44  | 
 0  | 
 length $l > 3 and not $lang_special  | 
 
| 
1644
 | 
 0  | 
 27  | 
 1  | 
 not $seen{$1}++ and $1 < @found_frames  | 
 
| 
1654
 | 
 87  | 
 0  | 
 119  | 
 $l eq '' || ref $f && defined $f->{$lang_field} && $l eq &__to_lang($f->{$lang_field}, $lang_special) and not $seen{$c}++  | 
 
| 
1666
 | 
 12  | 
 0  | 
 125  | 
 defined $f and ref $f  | 
 
| 
 | 
 12  | 
 0  | 
 125  | 
 defined $f and ref $f and defined $f->{'Description'}  | 
 
| 
 | 
 0  | 
 36  | 
 89  | 
 defined $f and ref $f and defined $f->{'Description'} and grep(($_ eq $f->{'Description'}), @$descr)  | 
 
| 
1674
 | 
 0  | 
 84  | 
 0  | 
 exists $res->{'Description'} and defined $descr || $any_descr  | 
 
| 
1675
 | 
 14  | 
 5  | 
 65  | 
 exists $res->{$lang_field} and defined $languages  | 
 
| 
1679
 | 
 55  | 
 7  | 
 22  | 
 $c == 2 and $ic == 5  | 
 
| 
 | 
 62  | 
 22  | 
 0  | 
 $c == 2 and $ic == 5 and exists $res->{'MIME type'}  | 
 
| 
 | 
 0  | 
 22  | 
 0  | 
 $c == 2 and $ic == 5 and exists $res->{'MIME type'} and exists $res->{'_Data'}  | 
 
| 
 | 
 0  | 
 0  | 
 22  | 
 $c == 2 and $ic == 5 and exists $res->{'MIME type'} and exists $res->{'_Data'} and $res->{'MIME type'} eq $self->_Data_to_MIME($res->{'_Data'})  | 
 
| 
1703
 | 
 20  | 
 0  | 
 4  | 
 $lang_special and @_ == 1  | 
 
| 
1786
 | 
 10  | 
 33  | 
 51  | 
 $what > 1 && !@_  | 
 
| 
1788
 | 
 2  | 
 11  | 
 32  | 
 $what > 2 && !@_  | 
 
| 
1859
 | 
 0  | 
 2  | 
 0  | 
 @_ == 1 and $_[0] eq ''  | 
 
| 
1900
 | 
 0  | 
 1  | 
 13  | 
 @_ == 1 and not $_[0]  | 
 
| 
1932
 | 
 0  | 
 3  | 
 9  | 
 @_ == 1 and $_[0] eq ''  | 
 
| 
1966
 | 
 0  | 
 0  | 
 14  | 
 @_ == 1 and $_[0] eq ''  | 
 
| 
1995
 | 
 0  | 
 11  | 
 0  | 
 @_ == 1 and $_[0] eq ''  | 
 
| 
2063
 | 
 15  | 
 31  | 
 54  | 
 $r_header and 10 == length $header  | 
 
| 
2072
 | 
 1  | 
 56  | 
 44  | 
 defined $mp3obj and $self->read_header($header)  | 
 
| 
2080
 | 
 0  | 
 44  | 
 0  | 
 defined $s and $s - 10 < $s1  | 
 
| 
2111
 | 
 0  | 
 0  | 
 45  | 
 $max0s and $mp3obj->read(\$d, 1024)  | 
 
| 
2118
 | 
 4  | 
 0  | 
 0  | 
 $mp3obj->read(\$d, 10 - length($r)) and $r .= $d  | 
 
| 
 | 
 0  | 
 40  | 
 4  | 
 defined $r and length $r < 10  | 
 
| 
2119
 | 
 0  | 
 4  | 
 40  | 
 $r_header and 10 <= length $d  | 
 
| 
2125
 | 
 41  | 
 0  | 
 16  | 
 defined $create and $create  | 
 
| 
2140
 | 
 31  | 
 0  | 
 54  | 
 $header and $parent  | 
 
| 
2190
 | 
 44  | 
 0  | 
 0  | 
 $major == 4 and $self->get_config1('prohibit_v24')  | 
 
| 
2269
 | 
 1100  | 
 3  | 
 2  | 
 $rule->{'optional'} and not length $data  | 
 
| 
2274
 | 
 55  | 
 202  | 
 0  | 
 exists $rule->{'encoded'} and $encoding =~ /^[12]$/  | 
 
| 
2287
 | 
 0  | 
 6  | 
 1097  | 
 defined $found and $found ne ''  | 
 
| 
2299
 | 
 480  | 
 0  | 
 0  | 
 $encoding and not $trustencoding  | 
 
| 
 | 
 0  | 
 480  | 
 0  | 
 not $noDecode and $e = $self->botched_encoding  | 
 
| 
2382
 | 
 0  | 
 0  | 
 0  | 
 defined $e and not $e  | 
 
| 
2402
 | 
 0  | 
 0  | 
 0  | 
 $fix && keys %$fix  | 
 
| 
2466
 | 
 0  | 
 0  | 
 0  | 
 $set and exists $flagmap{$flag}  | 
 
| 
2547
 | 
 0  | 
 0  | 
 6  | 
 $how eq 1 and $byte eq 1  | 
 
| 
2567
 | 
 0  | 
 0  | 
 6  | 
 $how eq 1 and $data eq 1  | 
 
| 
2583
 | 
 0  | 
 0  | 
 0  | 
 $how eq 1 and $data eq 1  | 
 
| 
2601
 | 
 0  | 
 0  | 
 6  | 
 $how eq 1 and $data eq 1  | 
 
| 
2625
 | 
 0  | 
 0  | 
 6  | 
 $how eq 1 and $text eq 1  | 
|  line  | 
 l  | 
 !l&&r  | 
 !l&&!r  | 
 condition  | 
 
| 
203
 | 
 0  | 
 0  | 
 0  | 
 $pos + $headersize + $size > $self->{'data_size'} or not exists $MP3::Tag::ID3v2::long_names{substr $self->{'tag_data'}, $pos + $size, 4}  | 
 
| 
333
 | 
 337  | 
 4  | 
 386  | 
 defined $frame or $e  | 
 
| 
371
 | 
 5  | 
 0  | 
 330  | 
 $raw eq 'array_nokey' or $raw eq 'array_nodecode'  | 
 
| 
373
 | 
 4  | 
 0  | 
 331  | 
 $raw eq 'intact' or $raw eq 'hash'  | 
 
| 
 | 
 4  | 
 5  | 
 326  | 
 $raw eq 'intact' or $raw eq 'hash' or $as_arr  | 
 
| 
376
 | 
 5  | 
 0  | 
 330  | 
 $as_arr or $raw eq 'hash'  | 
 
| 
456
 | 
 0  | 
 0  | 
 0  | 
 $bin || ref $val  | 
 
| 
581
 | 
 0  | 
 0  | 
 78  | 
 $frame->{'flags'}{'compression'} or $self->{'flags'}{'compress_all'}  | 
 
| 
587
 | 
 0  | 
 0  | 
 78  | 
 $frame->{'flags'}{'encryption'} or $self->{'flags'}{'encrypt_all'}  | 
 
| 
605
 | 
 0  | 
 0  | 
 78  | 
 $self->{'version'} == 3 && $self->get_config('id3v23_unsync_size_w')->[0] || $self->{'version'} >= 4  | 
 
| 
673
 | 
 16  | 
 0  | 
 0  | 
 rename $tempfile, $mp3obj->{'filename'} or system('mv', $tempfile, $mp3obj->{'filename'}) == 0  | 
 
| 
812
 | 
 15  | 
 0  | 
 18  | 
 $o_tsize < $n_tsize or $self->get_config('id3v2_shrink')->[0]  | 
 
| 
916
 | 
 0  | 
 0  | 
 0  | 
 rename $tempfile, $mp3obj->{'filename'} or system('mv', $tempfile, $mp3obj->{'filename'}) == 0  | 
 
| 
1019
 | 
 66  | 
 0  | 
 1  | 
 @data == $args - 1 - $opt || $split && @data <= $args - 1 - $opt  | 
 
| 
1030
 | 
 0  | 
 1  | 
 0  | 
 $tail_rex[$c] ||= qr/((?:;[^;]*){0,$c})\z/  | 
 
| 
1114
 | 
 0  | 
 0  | 
 0  | 
 $calc_enc or $encode_utf8  | 
 
| 
1162
 | 
 0  | 
 68  | 
 0  | 
 $flags || $self->check_flags(0)  | 
 
| 
1429
 | 
 0  | 
 1  | 
 1  | 
 !exists $comment->{'Language'} || lc $comment->{'Language'} ne $language  | 
 
| 
1480
 | 
 0  | 
 0  | 
 1  | 
 !exists $comment->{'Language'} || lc $comment->{'Language'} ne lc $language  | 
 
| 
1580
 | 
 42  | 
 4  | 
 286  | 
 shift() or $l eq 'XXX'  | 
 
| 
1589
 | 
 37  | 
 0  | 
 0  | 
 $MT{substr $data, 0, 4} || $MT{substr $data, 0, 2}  | 
 
| 
1629
 | 
 8  | 
 0  | 
 44  | 
 $_ eq '' or exists $m1->{$_}  | 
 
| 
 | 
 44  | 
 0  | 
 0  | 
 $_ eq '' or exists $m1->{$_} or $loose  | 
 
| 
 | 
 44  | 
 0  | 
 0  | 
 $_ eq '' or exists $m1->{$_} or $loose or not /\D/  | 
 
| 
1654
 | 
 88  | 
 0  | 
 118  | 
 $l eq '' || ref $f && defined $f->{$lang_field} && $l eq &__to_lang($f->{$lang_field}, $lang_special)  | 
 
| 
1674
 | 
 67  | 
 9  | 
 8  | 
 defined $descr || $any_descr  | 
 
| 
1692
 | 
 1  | 
 23  | 
 15  | 
 @_ > 1 or defined $_[0]  | 
 
| 
1870
 | 
 3  | 
 0  | 
 18  | 
 ($y) = $self->get_frame('TDRC', 'intact') or ($y) = $self->get_frame('TYER')  | 
 
| 
2176
 | 
 0  | 
 0  | 
 44  | 
 $major > $#MP3::Tag::ID3v2::supported_majors or $MP3::Tag::ID3v2::supported_majors[$major] == 0  | 
 
| 
2331
 | 
 56  | 
 0  | 
 701  | 
 exists $rule->{'data'} or not defined $found  | 
 
| 
2359
 | 
 0  | 
 0  | 
 0  | 
 $self->get_config1('ignore_trusted_encoding0_v2') or not $self->frame_select('TXXX', 'trusted_encoding0_v2')  | 
 
| 
2660
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/DIG/Other digital Media/ or $found =~ /DAT/  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/DIG/Other digital Media/ or $found =~ /DAT/ or $found =~ /DCC/  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/DIG/Other digital Media/ or $found =~ /DAT/ or $found =~ /DCC/ or $found =~ /DVD/  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/DIG/Other digital Media/ or $found =~ /DAT/ or $found =~ /DCC/ or $found =~ /DVD/ or $found =~ s/MD/MiniDisc/  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/DIG/Other digital Media/ or $found =~ /DAT/ or $found =~ /DCC/ or $found =~ /DVD/ or $found =~ s/MD/MiniDisc/ or $found =~ s/LD/Laserdisc/  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/TV/Television/ or $found =~ s/VID/Video/  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/TV/Television/ or $found =~ s/VID/Video/ or $found =~ s/RAD/Radio/  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $found =~ s/REE/Reel/ or $found =~ s/MC/MC (normal cassette)/  |