line |
true |
false |
branch |
49
|
15 |
2 |
if (@_ == 1) { } |
61
|
15 |
2 |
if (defined $file) { } |
62
|
0 |
15 |
unless open my $fh, '<', $file |
64
|
0 |
15 |
unless defined read($fh, my $read, 1024) |
65
|
0 |
15 |
unless ($read =~ /%PDF-([0-9.]+)/) |
71
|
11 |
4 |
if ($self->[2][1]{'ID'}) |
78
|
2 |
0 |
if (not $opts{'empty'}) { } |
100
|
2 |
13 |
unless seek $fh, -1024, 2 |
101
|
0 |
15 |
unless read $fh, my $read, 1024 |
113
|
0 |
16 |
unless seek $fh, $startxref, 0 |
115
|
0 |
16 |
unless read $fh, my $read, 1024, length $read |
117
|
3 |
13 |
if ($read =~ /^$S*[0-9]/o) { } |
127
|
1 |
2 |
$hash->{'Index'} ? : |
136
|
0 |
33 |
unless $widths[0] |
138
|
17 |
16 |
if ($type == 1) { } |
|
14 |
2 |
elsif ($type == 2) { } |
141
|
17 |
0 |
unless exists $xref->{$obj_ref} |
146
|
14 |
0 |
unless exists $xref->{$obj_ref} |
150
|
0 |
2 |
if $ix and $gen != 65535 |
153
|
0 |
33 |
if ($ix++ > $last) |
161
|
0 |
0 |
unless read $fh, $read, 1024, length $read |
177
|
218 |
30 |
if (substr($_1, 17, 1) eq 'n') { } |
179
|
218 |
0 |
unless exists $xref->{$obj_ref} |
184
|
17 |
13 |
unless substr($_1, 11, 5) == 65535 |
190
|
15 |
1 |
unless ($self->[2]) |
193
|
0 |
15 |
if exists $trailer->[1]{'Encrypt'} |
197
|
1 |
15 |
defined $trailer->{'Prev'} ? : |
214
|
11 |
0 |
if ($self->get_obj($pages, '/Count')->[1] == @{$kids->[1];}) |
220
|
0 |
0 |
do {
$self->get_obj($kid, '/Type')
}->[1] eq 'Pages' ? : |
234
|
0 |
0 |
if (@{$pages_array->[1];} != $count->[1]) |
274
|
0 |
4 |
if (@{$pages_array->[1];} != $count->[1]) |
288
|
0 |
0 |
if $page->[1]{'Parent'}[1] eq $pages_id |
303
|
0 |
3 |
unless (defined $self->[5]) |
306
|
0 |
3 |
unless (%{$self->[9];}) |
309
|
0 |
3 |
if ($self->[2][1]{'Type'}) |
312
|
0 |
3 |
unless open my $fh, '>>', $self->[5] |
322
|
0 |
3 |
if (@{$id_array->[1];} == 2 and $self->vivify_obj('str', $id_array, 0)->[1] ne $self->[3] || $self->vivify_obj('str', $id_array, 1)->[1] ne $self->[3]) { } |
341
|
1 |
3 |
if ($obj->[0] eq 'stream') { } |
361
|
3 |
1 |
if ($chunks[-1][-1] + 1 != $_) |
370
|
3 |
4 |
$_ == 0 ? : |
377
|
0 |
3 |
unless close $fh |
385
|
2 |
2 |
if ($args{'filename'}) { } |
387
|
0 |
2 |
unless open $fh, '>', $args{'filename'} |
399
|
3 |
1 |
if (@{$id_array->[1];} == 2 and $self->vivify_obj('str', $id_array, 0)->[1] ne $self->[3]) { } |
417
|
41 |
7 |
unless $trailer[$_] eq 'R' |
419
|
0 |
7 |
if $seen{$id}++ |
426
|
0 |
50 |
unless my $obj = $self->get_obj($id) |
429
|
0 |
50 |
$obj->[0] eq 'tokens' ? : |
|
0 |
50 |
(my $flat = $obj->[0] eq 'flat') ? : |
431
|
447 |
54 |
unless $tokens[$_] eq 'R' |
433
|
11 |
43 |
if $seen{$id}++ |
437
|
8 |
42 |
if ($obj->[0] eq 'stream') { } |
454
|
22 |
28 |
if $del |
461
|
46 |
12 |
if $ids[$_] |
474
|
16 |
50 |
exists $next_free{$_} ? : |
481
|
2 |
2 |
if ($args{'filename'}) |
482
|
0 |
2 |
unless close $fh |
493
|
0 |
3 |
unless @_ |
494
|
1 |
2 |
if (@_ == 1 and not $_[0] =~ m[^/]) |
495
|
0 |
1 |
unless $_[0] =~ /^[0-9]+ [0-9]+\z/ |
500
|
2 |
0 |
if $last_ref |
511
|
0 |
66 |
unless $id =~ /^[0-9]+ [0-9]+\z/ |
512
|
0 |
66 |
unless ($self->[1]) |
516
|
0 |
66 |
if (ref $loc) |
532
|
0 |
0 |
@numbers ? : |
544
|
0 |
69 |
unless read $self->[1], my $buf, 1024 |
548
|
0 |
177 |
unless defined read($self->[1], $buf, 1024, length $buf) |
552
|
0 |
69 |
if ($id and $read_id ne $id) |
557
|
11 |
58 |
if ($tokens[-1] eq 'stream') { } |
567
|
4 |
7 |
if (length $buf < $stream_length) { } |
569
|
0 |
4 |
unless read $self->[1], $new_obj->[2], $stream_length - length($buf), length $buf |
601
|
121 |
132 |
if (ref $obj) { } |
|
38 |
94 |
elsif ($obj =~ m[^/]) { } |
602
|
36 |
85 |
if ($obj->[0] eq 'ref') |
608
|
2 |
36 |
if (not $subobj) { } |
609
|
2 |
0 |
if ($vivify) { } |
610
|
0 |
2 |
@_ ? : |
624
|
0 |
179 |
unless $obj |
626
|
7 |
96 |
if ($obj->[0] eq 'stream') |
629
|
86 |
17 |
$key =~ m[^/] ? : |
630
|
4 |
99 |
if (not $subobj) { } |
631
|
1 |
3 |
if ($vivify) { } |
632
|
1 |
0 |
$key =~ m[^/] ? : |
|
0 |
1 |
@_ ? : |
640
|
31 |
69 |
if ($obj and $obj->[0] eq 'ref') |
646
|
0 |
176 |
if $obj->[0] eq 'null' |
651
|
0 |
283 |
if ($obj->[0] eq 'flat') { } |
|
67 |
216 |
elsif ($obj->[0] eq 'tokens') { } |
660
|
0 |
0 |
$key =~ m[^/] ? : |
|
0 |
1 |
$type eq 'stream' ? : |
|
0 |
1 |
$type eq 'null' ? : |
|
0 |
1 |
$type eq 'num' ? : |
|
2 |
1 |
$type =~ /^(?:array|tokens)\z/ ? : |
|
0 |
3 |
$type eq 'dict' ? : |
|
0 |
3 |
defined $key ? : |
672
|
0 |
25 |
unless ($_[1] =~ /^[a-z]+\z/) |
676
|
2 |
23 |
if $lastref |
701
|
0 |
4 |
unless (ref $obj) |
702
|
0 |
0 |
unless $obj =~ /^[0-9]+ [0-9]+\z/ |
703
|
0 |
0 |
if ($cach->{$obj}) |
717
|
16 |
4 |
unless (ref $obj) |
723
|
6 |
14 |
$obj->[0] eq 'tokens' ? : |
|
0 |
20 |
$obj->[0] eq 'flat' ? : |
725
|
202 |
20 |
unless $tokens[$_] eq 'R' |
727
|
16 |
4 |
unless ($cach->{$id}) |
740
|
16 |
4 |
$id && ($cach->{$id} || die("Internal error: $obj got uncached")) ? : |
750
|
5 |
15 |
if ($obj->[0] eq 'stream') { } |
760
|
4 |
0 |
if ref $ret |
776
|
2 |
1 |
if (@filters) |
777
|
0 |
2 |
if ($filters[0][0] eq 'array') { } |
784
|
2 |
1 |
if (@params) |
785
|
0 |
2 |
if ($params[0][0] eq 'array') |
799
|
0 |
2 |
unless $filter eq 'FlateDecode' |
802
|
2 |
0 |
if ($params) |
804
|
2 |
0 |
if $params->[1]{'Predictor'} |
805
|
0 |
2 |
unless $predictor == 1 or $predictor >= 10 |
808
|
0 |
2 |
if $params->[1]{'BitsPerComponent'} |
809
|
2 |
0 |
if $params->[1]{'Columns'} |
810
|
0 |
2 |
if $params->[1]{'Colours'} |
811
|
0 |
2 |
if $bpc % 8 |
817
|
0 |
2 |
unless my $x = &Compress::Zlib::inflateInit() |
820
|
0 |
2 |
unless $flate_stat == &Compress::Zlib::Z_STREAM_END |
822
|
2 |
0 |
if ($predictor >= 10) { } |
829
|
20 |
0 |
if ($filter == 2) { } |
|
0 |
0 |
elsif (not $filter) { } |
|
0 |
0 |
elsif ($filter == 1) { } |
|
0 |
0 |
elsif ($filter == 3) { } |
|
0 |
0 |
elsif ($filter == 4) { } |
854
|
0 |
0 |
$pb <= $pc ? : |
|
0 |
0 |
$pa <= $pb && $pa <= $pc ? : |
883
|
168 |
1303 |
if ($more and length $_ < 500) { } |
|
0 |
1303 |
elsif (not length $_ or length $_ == $prev_length) { } |
891
|
1424 |
47 |
if (s(^(($R+)|<<|>>|[\[\]\{\}]|/$R*))[]o) |
893
|
82 |
1342 |
if defined $endtoken and length $2 and $1 =~ /$endtoken/ |
897
|
15 |
32 |
if (s/^\(//) |
908
|
19 |
13 |
if s/^(<[^>]*>)// |
924
|
3 |
1027 |
if (length($_) + length($line) > 254 and /^$S*([(<])/o) { } |
935
|
0 |
65 |
unless $piecepiece =~ /^[^\\]*(?:\\.[^\\]*)*\z/s |
936
|
1 |
64 |
$hex ? : |
946
|
7 |
1020 |
ref $_ eq 'SCALAR' ? : |
947
|
425 |
523 |
if (length $line and !($line =~ /$D\z/o || /^$D/o) || length($line) + length($_) > 254) |
965
|
13 |
0 |
unless wantarray |
981
|
130 |
419 |
if ($_ =~ /^\d+$/ and (@$tokens >= 2 and $tokens->[0] =~ /^\d+$/ and $tokens->[1] eq 'R')) { } |
|
72 |
347 |
elsif (s[^/][]) { } |
|
81 |
266 |
elsif ($_ eq '<<') { } |
|
54 |
212 |
elsif ($_ eq '[') { } |
|
14 |
198 |
elsif (s/^\(//) { } |
|
179 |
19 |
elsif (/^[+\-]?\d+$/ or /^[+\-]?[\d\.]+$/ and tr/.// == 1) { } |
|
19 |
0 |
elsif (s/^/) { } |
|
0 |
0 |
elsif ($_ eq 'true') { } |
|
0 |
0 |
elsif ($_ eq 'false') { } |
|
0 |
0 |
elsif ($_ eq 'null') { } |
1004
|
81 |
299 |
if ($name eq '>>') { } |
1013
|
0 |
299 |
if $tmp_hash{$name}[0] eq 'null' |
1023
|
54 |
159 |
if ($tokens->[0] eq ']') { } |
1040
|
0 |
0 |
length $match ? : |
|
0 |
0 |
$match eq '\\' ? : |
|
0 |
0 |
$match eq ')' ? : |
|
0 |
0 |
$match eq '(' ? : |
|
0 |
0 |
$match eq 'f' ? : |
|
0 |
0 |
$match eq 'b' ? : |
|
0 |
0 |
$match eq 't' ? : |
|
0 |
0 |
$match eq 'r' ? : |
|
0 |
0 |
$match eq 'n' ? : |
|
0 |
0 |
$match =~ /\d/ ? : |
|
32 |
0 |
$match =~ /$N/o ? : |
|
2 |
32 |
$unescaped ? : |
1102
|
135 |
327 |
if ($_->[0] eq 'num') |
1103
|
36 |
99 |
if not $_ or $_ == 0 |
1104
|
99 |
0 |
if /^[+-]?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]*)\z/ |
1106
|
0 |
0 |
unless $ret =~ /e([+-][0-9]+)/ |
1113
|
60 |
267 |
if ($_->[0] eq 'name') |
1121
|
64 |
203 |
if ($_->[0] eq 'dict') |
1132
|
101 |
102 |
if $_->[0] eq 'ref' |
1135
|
43 |
59 |
if ($_->[0] eq 'array') |
1144
|
14 |
45 |
if ($_->[0] eq 'stream') |
1149
|
32 |
13 |
if ($_->[0] eq 'str') |
1152
|
3 |
0 |
$1 eq "\r" ? : |
1157
|
6 |
7 |
if $_->[0] eq 'tokens' |
1160
|
0 |
7 |
if $_->[0] eq 'bool' |
1162
|
7 |
0 |
if $_->[0] eq 'flat' |
1164
|
0 |
0 |
if $_->[0] eq 'null' |