| line |
true |
false |
branch |
|
204
|
217 |
0 |
unless ($root) |
|
249
|
0 |
18 |
if (defined $options{'-diags'} and not defined $options{'diags'}) |
|
251
|
18 |
0 |
unless defined $options{'diags'} |
|
255
|
18 |
0 |
if (ref $filename) { } |
|
257
|
18 |
0 |
if ($update) |
|
263
|
0 |
0 |
unless -f $filename |
|
266
|
0 |
0 |
if ($update) |
|
275
|
0 |
18 |
unless ($buffer =~ /^\%PDF\-(\d+\.\d+)(.*?)$PDF::Builder::Basic::PDF::File::cr/mo) |
|
280
|
0 |
18 |
if (defined $2 and length $2 > 0) |
|
293
|
18 |
18 |
if $buffer =~ /startxref($PDF::Builder::Basic::PDF::File::cr|\s*)\d+($PDF::Builder::Basic::PDF::File::cr|\s*)\%\%eof.*?/i |
|
295
|
0 |
18 |
unless ($buffer =~ /startxref[^\d]+([0-9]+)($PDF::Builder::Basic::PDF::File::cr|\s*)\%\%eof.*?/i) |
|
296
|
0 |
0 |
if ($options{'diags'} == 1) |
|
333
|
5 |
26 |
defined $trailer_version && $trailer_version > $header_version ? : |
|
337
|
3 |
28 |
if (@_) |
|
341
|
0 |
3 |
if (defined $opts{'-silent'} and not defined $opts{'silent'}) |
|
344
|
0 |
3 |
if ($version =~ /^\d+$/) |
|
346
|
0 |
3 |
unless ($version =~ /^[12]\.[0-9]+$/) |
|
347
|
0 |
0 |
unless defined $opts{'silent'} |
|
351
|
0 |
3 |
if ($old_version > $version) |
|
352
|
0 |
0 |
unless defined $opts{'silent'} |
|
392
|
6 |
33 |
if (@_) |
|
396
|
0 |
6 |
if (defined $opts{'-silent'} and not defined $opts{'silent'}) |
|
399
|
0 |
6 |
if ($version =~ /^\d+$/) |
|
401
|
0 |
6 |
unless ($version =~ /^[12]\.[0-9]+$/) |
|
402
|
0 |
0 |
unless defined $opts{'silent'} |
|
406
|
0 |
6 |
if ($old_version > $version) |
|
407
|
0 |
0 |
unless defined $opts{'silent'} |
|
441
|
12 |
25 |
if ($self->{'Root'}{'Version'}) |
|
446
|
5 |
32 |
if (@_) |
|
450
|
0 |
5 |
if (defined $opts{'-silent'} and not defined $opts{'silent'}) |
|
453
|
0 |
5 |
if ($version =~ /^\d+$/) |
|
455
|
0 |
5 |
unless ($version =~ /^[12]\.[0-9]+$/) |
|
456
|
0 |
0 |
unless defined $opts{'silent'} |
|
460
|
0 |
5 |
if (defined $old_version and $old_version > $version) |
|
461
|
0 |
0 |
unless defined $opts{'silent'} |
|
483
|
1 |
2 |
if $current_version < $min_version |
|
511
|
0 |
179 |
unless ref $self |
|
525
|
2546 |
6237 |
if (&blessed($item) and $item->can('release')) { } |
|
|
1860 |
4377 |
elsif (ref $item eq 'ARRAY') { } |
|
|
1063 |
3314 |
elsif (ref $item eq 'HASH') { } |
|
552
|
0 |
8 |
unless $self->{' update'} |
|
570
|
0 |
8 |
if (defined $self->{' newroot'}) { } |
|
578
|
0 |
25 |
unless defined $tdict->{$key} |
|
620
|
171 |
0 |
if (ref $filename) { } |
|
651
|
171 |
0 |
if defined $self->{'Info'} |
|
652
|
0 |
171 |
defined $self->{' newroot'} && $self->{' newroot'} ne '' ? : |
|
658
|
0 |
171 |
if $self->{' loc'} |
|
659
|
0 |
171 |
if ($self->{' update'}) |
|
661
|
0 |
0 |
unless defined $tdict->{$key} |
|
670
|
0 |
171 |
if ($^O eq "MacOS" and not ref $self->{' fname'}) |
|
694
|
10 |
1461 |
defined $opts{'update'} ? : |
|
695
|
1461 |
10 |
if $update |
|
700
|
162 |
1309 |
if ($str =~ /^<
|
|
|
166 |
1143 |
elsif ($str =~ /^([0-9]+)(?:$PDF::Builder::Basic::PDF::File::ws_char|$re_comment)+([0-9]+)(?:$PDF::Builder::Basic::PDF::File::ws_char|$re_comment)+R/s) { } |
|
|
104 |
1039 |
elsif ($str =~ /^([0-9]+)(?:$PDF::Builder::Basic::PDF::File::ws_char|$re_comment)+([0-9]+)(?:$PDF::Builder::Basic::PDF::File::ws_char|$re_comment)+obj/s) { } |
|
|
573 |
466 |
elsif ($str =~ m[^/($PDF::Builder::Basic::PDF::File::reg_char*)]s) { } |
|
|
2 |
464 |
elsif ($str =~ /^\(/) { } |
|
|
0 |
464 |
elsif ($str =~ /^) { } |
|
|
94 |
370 |
elsif ($str =~ /^\[/) { } |
|
|
0 |
370 |
elsif ($str =~ /^(true|false)($PDF::Builder::Basic::PDF::File::irreg_char|$)/) { } |
|
|
370 |
0 |
elsif ($str =~ /^([+-.0-9]+)($PDF::Builder::Basic::PDF::File::irreg_char|$)/) { } |
|
|
0 |
0 |
elsif ($str =~ /^null($PDF::Builder::Basic::PDF::File::irreg_char|$)/) { } |
|
703
|
160 |
2 |
if $update |
|
710
|
453 |
0 |
if ($str =~ s[^/($PDF::Builder::Basic::PDF::File::reg_char+)][]) { } |
|
|
0 |
0 |
elsif ($str =~ s[^/$PDF::Builder::Basic::PDF::File::ws_char+][]) { } |
|
|
0 |
0 |
elsif ($str =~ s[^//][/]) { } |
|
721
|
453 |
0 |
unless ref $value eq "PDF::Builder::Basic::PDF::Null" |
|
734
|
451 |
2 |
if $update |
|
738
|
160 |
2 |
if $update |
|
742
|
11 |
151 |
if ($str =~ s/^stream(?:(?:\015\012)|\012|\015)// and $result->{'Length'}->val != 0) |
|
747
|
11 |
0 |
unless ($opts{'nostreams'}) |
|
748
|
0 |
11 |
if ($length > length $str) { } |
|
758
|
11 |
0 |
if $update |
|
763
|
38 |
124 |
if (defined $result->{'Type'} and defined $PDF::Builder::Basic::PDF::File::types{$result->{'Type'}->val}) |
|
774
|
131 |
35 |
unless ($result = $self->test_obj($num, $value)) |
|
795
|
90 |
14 |
if ($result = $self->test_obj($num, $value)) { } |
|
802
|
100 |
4 |
if $update |
|
821
|
2 |
0 |
if ($str =~ /^([^\\()]+)(.*)/s) |
|
827
|
0 |
2 |
if ($str =~ /^(\\[()])/) { } |
|
|
0 |
2 |
elsif ($str =~ /^\(/) { } |
|
|
2 |
0 |
elsif ($str =~ /^\)/) { } |
|
|
0 |
0 |
elsif ($str =~ /^(\\[^()])/) { } |
|
842
|
2 |
0 |
unless $nested_level |
|
855
|
0 |
0 |
unless $fh->read($str, 255, length $str) |
|
872
|
94 |
0 |
if $update |
|
880
|
778 |
0 |
if $update |
|
897
|
6 |
362 |
if ($update and $str =~ /^$re_whitespace*$/s || $str =~ /^$re_whitespace+[0-9]+$re_whitespace*$/s) |
|
901
|
4 |
2 |
if ($str =~ /^$re_whitespace*([0-9]+)$re_whitespace+(?:R|obj)/s) |
|
932
|
0 |
86 |
unless $objind eq $res |
|
946
|
0 |
94 |
unless defined $num |
|
947
|
0 |
94 |
unless defined $gen |
|
948
|
0 |
94 |
unless $num =~ /^[0-9]+$/ |
|
949
|
0 |
94 |
unless $gen =~ /^[0-9]+$/ |
|
955
|
4 |
90 |
if (ref $object_location) |
|
959
|
0 |
4 |
unless $object_stream |
|
961
|
4 |
0 |
if $object_stream->{' nofilt'} |
|
967
|
0 |
4 |
if ($object_stream->{' streamfile'}) { } |
|
977
|
0 |
4 |
unless $map[$index] == $num |
|
984
|
2 |
2 |
if ($last_object_in_stream == $num) { } |
|
985
|
2 |
0 |
if ($object_stream->{' stream'}) { } |
|
997
|
0 |
4 |
if ($object_stream->{' streamfile'}) { } |
|
1029
|
0 |
1365 |
if (defined $self->{' free'} and scalar @{$self->{' free'};} > 0) |
|
1031
|
0 |
0 |
if (defined $base) { } |
|
1045
|
0 |
1366 |
defined $i ? : |
|
1048
|
0 |
0 |
unless (defined $self->locate_obj($i, $ng)) |
|
1049
|
0 |
0 |
if (defined $base) { } |
|
1064
|
1365 |
0 |
if (defined $base) { } |
|
1089
|
1382 |
1609 |
unless (exists $self->{' outlist_cache'}{$obj}) |
|
1130
|
0 |
0 |
if $self->{' objcache'}{join $;, $objind->{' objnum'}, $objind->{' objgen'}} eq $objind |
|
1151
|
0 |
184 |
unless defined $self->{' OUTFILE'} |
|
1155
|
184 |
0 |
unless scalar @objects > 0 |
|
1157
|
0 |
1074 |
unless $objind->is_obj($self) |
|
1160
|
1074 |
0 |
if ($self->{' outlist'}[$i] eq $objind) |
|
1165
|
0 |
1074 |
if $j < 0 |
|
1168
|
0 |
1074 |
if grep {$_ eq $objind;} @{$$self{" free"};} |
|
1170
|
0 |
1074 |
if $objind->{' comments'} |
|
1179
|
1074 |
0 |
unless (exists $self->{' printed_cache'}{$objind}) |
|
1201
|
0 |
0 |
unless defined $outpdf->{$key} |
|
1208
|
0 |
0 |
unless $nt eq "n" |
|
1210
|
0 |
0 |
if ($nl < $minl or $mini == 0) |
|
1215
|
0 |
0 |
unless ($obj = $self->test_obj($i, $ng)) |
|
1225
|
0 |
0 |
defined $filter ? : |
|
1226
|
0 |
0 |
unless not $res or $res->is_obj($outpdf) |
|
1233
|
0 |
0 |
if ($obj->isa("PDF::Builder::Basic::PDF::Dict") and $obj->{'Linearized'}) |
|
1262
|
94 |
9 |
if (ref $tdict->{' xref'}{$num}) |
|
1264
|
4 |
90 |
unless scalar @$ref == 3 |
|
1266
|
90 |
0 |
if ($ref->[1] == $gen) |
|
1267
|
90 |
0 |
if $ref->[2] eq "n" |
|
1288
|
0 |
3242 |
if $readDebug |
|
1289
|
11 |
3231 |
if ($instream) { } |
|
1294
|
0 |
0 |
if $readDebug |
|
1300
|
0 |
128 |
if $readDebug |
|
1305
|
0 |
1 |
if $readDebug |
|
1364
|
0 |
78 |
if ($width == 3) { } |
|
|
0 |
78 |
elsif ($width == 5) { } |
|
|
0 |
78 |
elsif ($width == 6) { } |
|
|
0 |
78 |
elsif ($width == 7) { } |
|
1378
|
26 |
52 |
if $width == 1 |
|
1379
|
52 |
0 |
if $width == 2 |
|
1380
|
0 |
0 |
if $width == 4 |
|
1381
|
0 |
0 |
if ($width == 8) |
|
1389
|
0 |
0 |
if (substr($data, 0, 4) eq "\000\000\000\000") { } |
|
1408
|
0 |
21 |
if (defined $options{'-diags'} and not defined $options{'diags'}) |
|
1426
|
18 |
3 |
if ($buf =~ s/^xref$PDF::Builder::Basic::PDF::File::cr//i) { } |
|
|
3 |
0 |
elsif ($buf =~ /^(\d+)\s+(\d+)\s+obj/i) { } |
|
1443
|
0 |
23 |
unless ($old_buf =~ /^[0-9]+ [0-9]+$PDF::Builder::Basic::PDF::File::cr/) |
|
1444
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1454
|
0 |
23 |
if ($xnum < 1) |
|
1455
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1466
|
23 |
0 |
if ($buf =~ /^(.*?)$PDF::Builder::Basic::PDF::File::cr/) |
|
1469
|
0 |
23 |
if ($entry_size != 20 and $options{'diags'} == 1) |
|
1483
|
132 |
0 |
if ($buf =~ /^\d{10} \d{5} [nf]$PDF::Builder::Basic::PDF::File::cr/ or $entry_format_error) { } |
|
1487
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1500
|
0 |
132 |
if (exists $xlist->{$xmin}) { } |
|
1501
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1506
|
0 |
18 |
if ($xmin == 0 and $subsection_count > 1 and $options{'diags'} == 1) |
|
1523
|
0 |
0 |
unless (exists $xlist->{'0'} or $xrefListEmpty) |
|
1526
|
0 |
0 |
if ($subsection_count == 1 and exists $xlist->{'1'}) { } |
|
1529
|
0 |
0 |
if ($xlist->{'1'}[0] == 0 and $xlist->{'1'}[1] == 65535 and $xlist->{'1'}[2] eq 'f') { } |
|
1534
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1547
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1553
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1564
|
18 |
114 |
if ($xlist->{$_}[2] eq 'f') { } |
|
|
114 |
0 |
elsif ($xlist->{$_}[2] eq 'n') { } |
|
1565
|
0 |
18 |
if ($xlist->{$_}[1] <= 0 and $options{'diags'} == 1) { } |
|
1571
|
0 |
114 |
if ($xlist->{$_}[0] <= 0 and $options{'diags'} == 1) |
|
1574
|
0 |
114 |
if ($xlist->{$_}[1] < 0 and $options{'diags'} == 1) |
|
1578
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1585
|
0 |
18 |
if ($xlist->{'0'}[1] != 65535 and $options{'diags'} == 1) |
|
1589
|
0 |
18 |
if ($xlist->{$next_free}[2] ne 'f') { } |
|
1590
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1600
|
0 |
18 |
if (scalar @free_list and $options{'diags'} == 1) |
|
1605
|
0 |
18 |
if (not $buf =~ /^\s*trailer\b/i and $options{'diags'} == 1) |
|
1619
|
0 |
3 |
unless ($tdict->{' stream'}) |
|
1620
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1633
|
1 |
2 |
if (defined $tdict->{'Index'}) { } |
|
1652
|
78 |
0 |
if $w |
|
1657
|
1 |
25 |
unless defined $cols[0] |
|
1658
|
0 |
26 |
if ($cols[0] > 2 and $options{'diags'} == 1) |
|
1662
|
0 |
26 |
if exists $xlist->{$xmin} |
|
1664
|
1 |
0 |
$xmin ? : |
|
|
25 |
1 |
defined $cols[2] ? : |
|
1665
|
2 |
20 |
$cols[0] == 0 ? : |
|
|
22 |
4 |
if $cols[0] < 2 |
|
1672
|
0 |
0 |
if ($options{'diags'} == 1) |
|
1682
|
18 |
3 |
if $xmin + 1 > $self->{' maxobj'} |
|
1684
|
3 |
18 |
if defined $tdict->{'Prev'} and $tdict->{'Prev'}->val != 0 |
|
1685
|
18 |
3 |
unless defined $tdict->{' prev'} |
|
1715
|
3 |
176 |
unless $self->{' printed'} |
|
|
3 |
176 |
unless $self->{' free'} |
|
1718
|
171 |
8 |
unless ($update) |
|
1736
|
3 |
176 |
unless $self->{' free'} |
|
1740
|
191 |
1062 |
if ($i > $#xreflist or $self->{' objects'}{$xreflist[$i]->uid}[0] != $j + 1) { } |
|
1742
|
179 |
12 |
$first == -1 ? : |
|
1743
|
179 |
12 |
if ($first == -1) |
|
1745
|
0 |
179 |
defined $freelist[$k] ? : |
|
1750
|
0 |
1074 |
if (defined $freelist[$k] and defined $xref and "$freelist[$k]" eq "$xref") { } |
|
1756
|
0 |
0 |
defined $freelist[$k] ? : |
|
1766
|
12 |
179 |
if $i < scalar @xreflist |
|
1776
|
0 |
179 |
if (exists $tdict->{'Type'} and $tdict->{'Type'}->val eq 'XRef') { } |
|
1781
|
0 |
0 |
@a == 2 ? : |
|
1790
|
0 |
0 |
$tloc > 65535 ? : |
|
1791
|
0 |
0 |
$tloc > 65535 ? : |
|
1798
|
0 |
0 |
if $_->[1] == 65535 and $_->[2] eq "f" |
|
1801
|
0 |
0 |
if ($_->[1] > 255) |
|
1805
|
0 |
0 |
$_->[2] eq 'n' ? : |