| line |
true |
false |
branch |
|
69
|
0 |
0 |
unless grep {not $rtypes_implemented_myself{$_};} @{$$if[1];} |
|
71
|
0 |
0 |
unless @if |
|
85
|
0 |
0 |
if $i == $k |
|
89
|
0 |
0 |
if $in_k and !$in_i || $in_k != $in_i |
|
93
|
0 |
0 |
if %out_k |
|
106
|
0 |
0 |
unless $m{$key}++ |
|
118
|
0 |
0 |
unless my $np = $parts->[$i]->set_interface(@if) |
|
120
|
0 |
0 |
if $np == $parts->[$i] |
|
124
|
0 |
0 |
unless @new_parts |
|
166
|
118 |
42 |
if @_ |
|
190
|
0 |
0 |
@_ ? : |
|
192
|
0 |
0 |
!defined($buf->{'data'}) ? : |
|
194
|
0 |
0 |
if length $_ > 30 |
|
205
|
0 |
0 |
$buf->{'eof'} ? : |
|
|
0 |
0 |
$buf->{'gap'} ? : |
|
|
0 |
0 |
defined $buf->{'data'} ? : |
|
213
|
0 |
0 |
@_ ? : |
|
215
|
0 |
0 |
unless ($part) |
|
230
|
0 |
58 |
if $buf->{'dtype'} > 0 |
|
237
|
58 |
0 |
defined $buf->{'data'} ? : |
|
246
|
54 |
4 |
if ($buf->{'rtype'} != 4113) { } |
|
273
|
0 |
148 |
if $Net::IMP::Cascade::DEBUG |
|
278
|
225 |
71 |
unless my $pass = $part->{$pp} |
|
281
|
0 |
174 |
unless $buf->{'dtype'} |
|
282
|
43 |
131 |
if ($pass != -1 and $buf->{'start'} >= $pass) |
|
283
|
0 |
43 |
if $Net::IMP::Cascade::DEBUG |
|
289
|
0 |
131 |
unless defined $buf->{'data'} |
|
290
|
95 |
36 |
if ($pass == -1 or $buf->{'end'} <= $pass) { } |
|
292
|
0 |
95 |
if $Net::IMP::Cascade::DEBUG |
|
295
|
4 |
91 |
if $pp eq 'prepass' and $buf->{'rtype'} == 4097 |
|
301
|
4 |
91 |
if $r_passed and $pp eq 'prepass' |
|
304
|
0 |
91 |
if $r_passed |
|
311
|
24 |
67 |
unless (@$ibuf) |
|
312
|
22 |
2 |
if ($part->{'pass'} == -1 or $buf->{'eof'}) |
|
323
|
24 |
0 |
$buf->{'dtype'} < 0 ? : |
|
332
|
0 |
36 |
if $Net::IMP::Cascade::DEBUG |
|
344
|
3 |
5 |
if ($buf->{'gstart'} == $buf->{'gend'} and not $buf->{'gap'} and $buf->{'rtype'} ~~ [4097, 4099]) |
|
354
|
35 |
33 |
$buf->{'rtype'} == 4113 ? : |
|
360
|
50 |
20 |
if (@fwd > 1) |
|
362
|
0 |
0 |
$_->[2] ? : |
|
|
0 |
0 |
!defined($_->[0]) ? : |
|
|
0 |
50 |
if $Net::IMP::Cascade::DEBUG |
|
370
|
22 |
124 |
unless (defined $fwd[$i][0] and defined $fwd[$i][2]) |
|
374
|
0 |
74 |
if (not defined $lpi or $lpi != $fwd[$i][0] or $ldir != $fwd[$i][1]) |
|
383
|
28 |
46 |
if (not $buf->{'gap'} and $buf->{'dtype'} < 0 and $buf->{'start'} == $lbuf->{'end'} and $buf->{'rtype'} == $lbuf->{'rtype'} and $buf->{'dtype'} == $lbuf->{'dtype'}) { } |
|
389
|
17 |
11 |
if ($buf->{'rtype'} == 4113) { } |
|
390
|
2 |
15 |
if ($lbuf->{'gend'} == $buf->{'gend'}) { } |
|
|
11 |
4 |
elsif ($buf->{'data'} ne '' or $lbuf->{'data'} ne '') { } |
|
401
|
0 |
17 |
if $Net::IMP::Cascade::DEBUG |
|
417
|
0 |
171 |
unless (defined $npi) |
|
425
|
127 |
44 |
if ($buf) { } |
|
429
|
13 |
114 |
$dir ? : |
|
430
|
69 |
58 |
if $npi < 0 or $npi >= @imp |
|
431
|
58 |
0 |
if ref($np = $parts[$dir][$npi]) |
|
433
|
0 |
0 |
if $Net::IMP::Cascade::DEBUG |
|
436
|
22 |
105 |
if ($buf->{'eof'}) |
|
440
|
58 |
69 |
if ($np) { } |
|
446
|
0 |
58 |
if $Net::IMP::Cascade::DEBUG |
|
451
|
1 |
68 |
unless my $cb = &$fwd_up($dir, $buf) |
|
452
|
0 |
68 |
if $Net::IMP::Cascade::DEBUG |
|
460
|
20 |
24 |
unless ref $parts[$dir][$pi] |
|
463
|
12 |
12 |
if (grep {ref $_;} @{$parts[$dir];}) { } |
|
465
|
0 |
12 |
if $Net::IMP::Cascade::DEBUG |
|
469
|
0 |
12 |
if $Net::IMP::Cascade::DEBUG |
|
486
|
0 |
87 |
if $Net::IMP::Cascade::DEBUG |
|
496
|
0 |
87 |
if $lbuf->{'eof'} |
|
497
|
0 |
87 |
if ($buf->{'start'} != $lend) { } |
|
|
0 |
87 |
elsif ($buf->{'gap'}) { } |
|
498
|
0 |
0 |
if ($buf->{'start'} < $lend) { } |
|
|
0 |
0 |
elsif (not $buf->{'gap'}) { } |
|
506
|
0 |
87 |
if $part->{'pass'} == -1 |
|
511
|
26 |
61 |
if ($lbuf->{'data'} eq '' and $lbuf->{'rtype'} == 4097) { } |
|
|
6 |
55 |
elsif (not $buf->{'gap'} and $buf->{'data'} eq '' and $buf->{'rtype'} == $lbuf->{'rtype'} and $buf->{'dtype'} == $lbuf->{'dtype'} and $buf->{'dtype'} < 0 and not $buf->{'eof'}) { } |
|
513
|
0 |
26 |
if $Net::IMP::Cascade::DEBUG |
|
514
|
0 |
26 |
unless @$ibuf == 1 |
|
525
|
0 |
6 |
if $Net::IMP::Cascade::DEBUG |
|
530
|
0 |
6 |
if $Net::IMP::Cascade::DEBUG |
|
535
|
0 |
55 |
if $Net::IMP::Cascade::DEBUG |
|
542
|
22 |
59 |
$buf->{'eof'} ? : |
|
|
80 |
1 |
if ($buf->{'eof'} ? $lend <= $buf->{'end'} : $lend < $buf->{'end'}) { } |
|
546
|
89 |
84 |
if $_->{'start'} < $lend |
|
548
|
0 |
84 |
if $_->{'start'} > $lend |
|
554
|
0 |
0 |
$_->{'gap'} ? : |
|
|
0 |
84 |
if $Net::IMP::Cascade::DEBUG |
|
561
|
0 |
84 |
$_->{'gap'} ? : |
|
563
|
8 |
76 |
if $buf->{'eof'} and $_->{'data'} ne '' |
|
564
|
84 |
0 |
unless $rl |
|
565
|
0 |
0 |
if ($rl == -1 or $rl >= $lend) { } |
|
572
|
0 |
1 |
if $Net::IMP::Cascade::DEBUG |
|
577
|
4 |
77 |
if @fwd |
|
587
|
0 |
107 |
if ($rtype ~~ [4354, 4352, 4353, 4]) { } |
|
|
0 |
107 |
elsif ($rtype == 1) { } |
|
|
0 |
107 |
elsif ($rtype == 16) { } |
|
|
0 |
107 |
elsif ($rtype == 17) { } |
|
|
76 |
31 |
elsif ($rtype ~~ [4097, 4099]) { } |
|
|
31 |
0 |
elsif ($rtype == 4113) { } |
|
|
0 |
0 |
elsif ($rtype == 18) { } |
|
588
|
0 |
0 |
if $Net::IMP::Cascade::DEBUG |
|
593
|
0 |
0 |
if $Net::IMP::Cascade::DEBUG |
|
599
|
0 |
0 |
if ($_->{'start'} <= $offset) { } |
|
602
|
0 |
0 |
$_->{'rtype'} == 4113 ? : |
|
611
|
0 |
0 |
if $Net::IMP::Cascade::DEBUG |
|
612
|
0 |
0 |
if $pause[$pi] |
|
614
|
0 |
0 |
if grep {$_;} @pause > 1 |
|
618
|
0 |
0 |
if $Net::IMP::Cascade::DEBUG |
|
621
|
0 |
0 |
unless grep {$_;} @{$pause[$dir];} |
|
625
|
0 |
76 |
if $Net::IMP::Cascade::DEBUG |
|
626
|
7 |
69 |
unless ref(my $part = $parts[$dir][$pi]) |
|
627
|
65 |
4 |
if ($rtype == 4097) { } |
|
628
|
0 |
65 |
if $part->{'pass'} == -1 |
|
629
|
22 |
43 |
if ($offset == -1) { } |
|
|
43 |
0 |
elsif ($offset > $part->{'pass'}) { } |
|
634
|
43 |
0 |
if ($part->{'prepass'} != -1 and $part->{'prepass'} <= $offset) |
|
642
|
2 |
2 |
if $part->{'prepass'} == -1 |
|
643
|
2 |
0 |
if ($offset == -1) { } |
|
|
0 |
0 |
elsif ($offset > $part->{'prepass'}) { } |
|
657
|
0 |
31 |
if $Net::IMP::Cascade::DEBUG |
|
660
|
0 |
31 |
unless ref(my $part = $parts[$dir][$pi]) |
|
665
|
0 |
31 |
unless $part |
|
666
|
0 |
31 |
if $offset == -1 |
|
668
|
0 |
31 |
if $ibuf->[0]{'start'} > $offset |
|
672
|
49 |
22 |
if ($offset >= $buf->{'end'}) { } |
|
674
|
0 |
49 |
if $Net::IMP::Cascade::DEBUG |
|
676
|
48 |
1 |
if (not defined $buf->{'data'} or $buf->{'data'} ne $newdata) |
|
686
|
5 |
44 |
unless (@$ibuf) |
|
689
|
0 |
5 |
if $buf->{'end'} < $offset |
|
697
|
0 |
5 |
$buf->{'dtype'} > 0 ? : |
|
704
|
26 |
18 |
if $buf->{'end'} == $offset |
|
707
|
0 |
22 |
if $Net::IMP::Cascade::DEBUG |
|
716
|
0 |
0 |
if $Net::IMP::Cascade::DEBUG |
|
717
|
0 |
0 |
unless ref(my $part = $parts[$dir][$pi]) |
|
720
|
0 |
0 |
if $_->{'replace_later'} == -1 |
|
723
|
0 |
0 |
unless $part |
|
727
|
0 |
0 |
if $offset != -1 and $ibuf->[0]{'start'} > $offset |
|
729
|
0 |
0 |
if ($offset == -1) { } |
|
|
0 |
0 |
elsif ($offset <= $part->{'replace_later'}) { } |
|
739
|
0 |
0 |
unless defined $_->{'data'} |
|
740
|
0 |
0 |
unless my $len = length $_->{'data'} |
|
741
|
0 |
0 |
if ($_->{'start'} + $len <= $offset) { } |
|
750
|
0 |
0 |
if $Net::IMP::Cascade::DEBUG |
|
756
|
66 |
9 |
if @fwd |
|
775
|
2 |
29 |
$dir ? : |
|
778
|
29 |
5 |
if ref($np = $parts[$dir][$pi]) |
|
780
|
0 |
5 |
$dir ? : |
|
781
|
2 |
3 |
if ($pi < 0 or $pi > $#imp) |
|
782
|
0 |
2 |
if $Net::IMP::Cascade::DEBUG |
|
783
|
0 |
2 |
if (my $cb = &$fwd_up($dir, &$new_buf(%buf))) |
|
790
|
0 |
29 |
unless ref $np |
|
793
|
29 |
0 |
if (not $offset) { } |
|
|
0 |
0 |
elsif ($offset < $ibuf_end) { } |
|
|
0 |
0 |
elsif ($offset > $ibuf_end) { } |
|
821
|
75 |
0 |
if ($collect_callbacks) |
|
848
|
0 |
11 |
if $closef |