|  line  | 
 !l  | 
 l&&!r  | 
 l&&r  | 
 condition  | 
 
| 
172
 | 
 7  | 
 2  | 
 2  | 
 $ttl and $ttl < 0 || $ttl > 255  | 
 
| 
196
 | 
 35  | 
 0  | 
 2  | 
 defined $data_size and $proto ne "tcp"  | 
 
| 
247
 | 
 0  | 
 1  | 
 0  | 
 $self->{'family'} and $self->{'family'} != $AF_INET6  | 
 
| 
338
 | 
 0  | 
 0  | 
 0  | 
 defined $self->{'local_addr'} and $self->{'proto'} eq 'udp' || $self->{'proto'} eq 'icmp'  | 
 
| 
344
 | 
 0  | 
 0  | 
 0  | 
 $self->{'proto'} ne "udp" and $self->{'proto'} ne "icmp"  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $self->{'proto'} ne "udp" and $self->{'proto'} ne "icmp" and $self->{'proto'} ne "tcp"  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $self->{'proto'} ne "udp" and $self->{'proto'} ne "icmp" and $self->{'proto'} ne "tcp" and $self->{'proto'} ne "syn"  | 
 
| 
359
 | 
 0  | 
 64  | 
 0  | 
 $_[3] > 0 and $^O eq "MSWin32"  | 
 
| 
392
 | 
 0  | 
 0  | 
 0  | 
 defined $self && ref $self  | 
 
| 
430
 | 
 16  | 
 0  | 
 0  | 
 $> and $^O ne "VMS"  | 
 
| 
 | 
 16  | 
 0  | 
 0  | 
 $> and $^O ne "VMS" and $^O ne "cygwin"  | 
 
| 
 | 
 16  | 
 0  | 
 0  | 
 $^O eq 'MSWin32' || $^O eq 'cygwin' and not _IsAdminUser()  | 
 
| 
 | 
 16  | 
 0  | 
 0  | 
 $^O eq "VMS" and `write sys\$output f\$privilege("SYSPRV")` =~ /FALSE/  | 
 
| 
517
 | 
 0  | 
 0  | 
 3  | 
 defined $self && ref $self  | 
 
| 
571
 | 
 61  | 
 0  | 
 0  | 
 not defined $host and $self->{'host'}  | 
 
| 
630
 | 
 0  | 
 0  | 
 0  | 
 not defined $ip and $self->{'host'}  | 
 
| 
631
 | 
 0  | 
 0  | 
 0  | 
 not defined $timeout and $self->{'timeout'}  | 
 
| 
714
 | 
 5  | 
 0  | 
 0  | 
 not defined $ip and $self->{'host'}  | 
 
| 
715
 | 
 5  | 
 0  | 
 0  | 
 not defined $timeout and $self->{'timeout'}  | 
 
| 
716
 | 
 5  | 
 0  | 
 0  | 
 $self->{'message_type'} && $self->{'message_type'} eq 'timestamp'  | 
 
| 
721
 | 
 5  | 
 0  | 
 0  | 
 defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))  | 
 
| 
769
 | 
 5  | 
 0  | 
 9  | 
 not $done and $timeout > 0  | 
 
| 
800
 | 
 0  | 
 0  | 
 0  | 
 $ip->{'family'} == $AF_INET6 and length $recv_msg == 8  | 
 
| 
812
 | 
 0  | 
 0  | 
 4  | 
 not $timestamp_msg and $from_type == 0 || $from_type == 129  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $timestamp_msg and $from_type == 14  | 
 
| 
890
 | 
 29  | 
 0  | 
 0  | 
 not defined $ip and $self->{'host'}  | 
 
| 
891
 | 
 29  | 
 0  | 
 0  | 
 not defined $timeout and $self->{'timeout'}  | 
 
| 
895
 | 
 2  | 
 14  | 
 12  | 
 not $self->{'econnrefused'} and $! == 111  | 
 
| 
911
 | 
 29  | 
 0  | 
 0  | 
 not defined $ip and $self->{'host'}  | 
 
| 
912
 | 
 29  | 
 0  | 
 0  | 
 not defined $timeout and $self->{'timeout'}  | 
 
| 
921
 | 
 29  | 
 0  | 
 0  | 
 defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))  | 
 
| 
939
 | 
 29  | 
 0  | 
 0  | 
 $! != 115 and $^O ne 'MSWin32' || $! != 11  | 
 
| 
962
 | 
 6  | 
 0  | 
 22  | 
 $nfound and vec $wout, $self->{'fh'}->fileno, 1  | 
 
| 
977
 | 
 13  | 
 0  | 
 0  | 
 $! == 11 and $^O =~ /cygwin/i  | 
 
| 
980
 | 
 1  | 
 0  | 
 12  | 
 not $self->{'econnrefused'} and $! == 111  | 
 
| 
990
 | 
 0  | 
 0  | 
 0  | 
 $nfound and vec $wexc, $self->{'fh'}->fileno, 1  | 
 
| 
1050
 | 
 0  | 
 0  | 
 0  | 
 &time() < $patience and $child != $self->{'tcp_chld'}  | 
 
| 
1084
 | 
 1  | 
 25  | 
 15  | 
 $self->{'proto'} and $self->{'proto'} eq "tcp"  | 
 
| 
 | 
 26  | 
 15  | 
 0  | 
 $self->{'proto'} and $self->{'proto'} eq "tcp" and $self->{'tcp_chld'}  | 
 
| 
1098
 | 
 0  | 
 0  | 
 0  | 
 not defined $timeout and $self->{'timeout'}  | 
 
| 
1099
 | 
 0  | 
 0  | 
 0  | 
 not defined $pingstring and $self->{'pingstring'}  | 
 
| 
1286
 | 
 1  | 
 0  | 
 0  | 
 defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))  | 
 
| 
1332
 | 
 1  | 
 0  | 
 1  | 
 not $done and $timeout > 0  | 
 
| 
1354
 | 
 0  | 
 1  | 
 0  | 
 not $self->{'econnrefused'} and $! == 111 || $! == 104  | 
 
| 
1365
 | 
 0  | 
 0  | 
 0  | 
 $from_ip eq $addr_in and $from_port == $self->{'port_num'}  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $from_ip eq $addr_in and $from_port == $self->{'port_num'} and $from_msg eq $msg  | 
 
| 
1387
 | 
 0  | 
 0  | 
 0  | 
 not $self->{'econnrefused'} and $! == 111  | 
 
| 
1421
 | 
 26  | 
 0  | 
 0  | 
 defined $self->{'local_addr'} and not CORE::bind($fh, &_pack_sockaddr_in(0, $self->{'local_addr'}))  | 
 
| 
1439
 | 
 0  | 
 0  | 
 0  | 
 $^O eq "MSWin32" and $! == 11  | 
 
| 
1483
 | 
 0  | 
 0  | 
 0  | 
 defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))  | 
 
| 
1526
 | 
 0  | 
 0  | 
 0  | 
 not $self->{'econnrefused'} and $self->{'bad'}{$host}  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 not $self->{'econnrefused'} and $self->{'bad'}{$host} and ($! = 111) > 0  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 not $self->{'econnrefused'} and $self->{'bad'}{$host} and ($! = 111) > 0 and $self->{'bad'}{$host} eq "$!"  | 
 
| 
1598
 | 
 8  | 
 14  | 
 0  | 
 not $self->{'econnrefused'} and $self->{'bad'}{$entry->[0]}  | 
 
| 
 | 
 22  | 
 0  | 
 0  | 
 not $self->{'econnrefused'} and $self->{'bad'}{$entry->[0]} and ($! = 111) > 0  | 
 
| 
 | 
 14  | 
 0  | 
 0  | 
 not $self->{'econnrefused'} and $self->{'bad'}{$entry->[0]} and ($! = 111) > 0 and $self->{'bad'}{$entry->[0]} eq "$!"  | 
 
| 
1616
 | 
 1  | 
 0  | 
 2  | 
 not $self->{'econnrefused'} and $! == 111 || $! == 11 && $^O =~ /cygwin/i  | 
 
| 
1684
 | 
 0  | 
 0  | 
 0  | 
 keys %{$$self{"syn"};} and $nfound = mselect(my $rout = $rbits, undef, undef, $timeout)  | 
 
| 
1698
 | 
 0  | 
 0  | 
 0  | 
 not $self->{'econnrefused'} and $how == 111  | 
 
| 
1701
 | 
 0  | 
 0  | 
 0  | 
 $host and $entry->[0] ne $host  | 
 
| 
1792
 | 
 0  | 
 0  | 
 0  | 
 defined $port and $port =~ /^\d+$/  | 
 
| 
1859
 | 
 61  | 
 0  | 
 0  | 
 defined $h{'port'} and !($h{'port'} =~ /^\d{1,5}$/) || $h{'port'} < 1 || $h{'port'} > 65535  | 
 
| 
1890
 | 
 0  | 
 0  | 
 0  | 
 defined $ret and _inet_ntoa($ret) eq $h{'host'}  | 
 
| 
1968
 | 
 0  | 
 0  | 
 0  | 
 not defined $family and length $addr <= 16  | 
|  line  | 
 l  | 
 !l&&r  | 
 !l&&!r  | 
 condition  | 
 
| 
106
 | 
 1  | 
 40  | 
 0  | 
 ref $this || $this  | 
 
| 
172
 | 
 1  | 
 1  | 
 2  | 
 $ttl < 0 || $ttl > 255  | 
 
| 
198
 | 
 1  | 
 1  | 
 35  | 
 $data_size < $min_datasize or $data_size > $Net::Ping::max_datasize  | 
 
| 
215
 | 
 14  | 
 1  | 
 8  | 
 $self->{'proto'} eq "tcp" or $self->{'proto'} eq "stream"  | 
 
| 
217
 | 
 2  | 
 0  | 
 0  | 
 eval {
	do {
	(getprotobyname 'udp')[2]
}
} || croak(q[Can't udp protocol by name])  | 
 
| 
220
 | 
 2  | 
 0  | 
 0  | 
 $self->{'port'} || (getservbyname 'echo', 'udp')[2] || croak(q[Can't get udp echo port by name])  | 
 
| 
231
 | 
 9  | 
 0  | 
 0  | 
 eval {
	do {
	(getprotobyname 'icmp')[2]
}
} || croak(q[Can't get icmp protocol by name])  | 
 
| 
249
 | 
 1  | 
 0  | 
 0  | 
 eval {
	do {
	(getprotobyname 'ipv6-icmp')[2]
}
} || croak(q[Can't get ipv6-icmp protocol by name])  | 
 
| 
293
 | 
 15  | 
 0  | 
 0  | 
 eval {
	do {
	(getprotobyname 'tcp')[2]
}
} || croak(q[Can't get tcp protocol by name])  | 
 
| 
296
 | 
 15  | 
 0  | 
 0  | 
 $self->{'port'} || (getservbyname 'echo', 'tcp')[2] || croak(q[Can't get tcp echo port by name])  | 
 
| 
302
 | 
 8  | 
 0  | 
 0  | 
 eval {
	do {
	(getprotobyname 'tcp')[2]
}
} || croak(q[Can't get tcp protocol by name])  | 
 
| 
304
 | 
 8  | 
 0  | 
 0  | 
 (getservbyname 'echo', 'tcp')[2] || croak(q[Can't get tcp echo port by name])  | 
 
| 
338
 | 
 0  | 
 0  | 
 0  | 
 $self->{'proto'} eq 'udp' || $self->{'proto'} eq 'icmp'  | 
 
| 
372
 | 
 0  | 
 0  | 
 0  | 
 $nfound or not defined $nfound  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $nfound or not defined $nfound or $t <= 0  | 
 
| 
423
 | 
 0  | 
 0  | 
 0  | 
 $^O eq "MSWin32" or $^O eq "cygwin"  | 
 
| 
430
 | 
 0  | 
 0  | 
 16  | 
 $^O eq 'MSWin32' || $^O eq 'cygwin'  | 
 
| 
 | 
 0  | 
 0  | 
 16  | 
 $> and $^O ne "VMS" and $^O ne "cygwin" or $^O eq 'MSWin32' || $^O eq 'cygwin' and not _IsAdminUser()  | 
 
| 
 | 
 0  | 
 0  | 
 16  | 
 $> and $^O ne "VMS" and $^O ne "cygwin" or $^O eq 'MSWin32' || $^O eq 'cygwin' and not _IsAdminUser() or $^O eq "VMS" and `write sys\$output f\$privilege("SYSPRV")` =~ /FALSE/  | 
 
| 
536
 | 
 0  | 
 0  | 
 83  | 
 $^O eq "MSWin32" or $^O eq "VMS"  | 
 
| 
572
 | 
 0  | 
 0  | 
 61  | 
 @_ > 4 or not $host  | 
 
| 
791
 | 
 4  | 
 0  | 
 4  | 
 $from_type == 0 or $from_type == 129  | 
 
| 
811
 | 
 0  | 
 4  | 
 0  | 
 not $Net::Ping::source_verify or $self->ntop($from_ip) eq $self->ntop($ip)  | 
 
| 
812
 | 
 4  | 
 0  | 
 0  | 
 $from_type == 0 || $from_type == 129  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 $from_type == 3 or $from_type == 1  | 
 
| 
931
 | 
 0  | 
 0  | 
 0  | 
 connect($self->{'fh'}, $saddr) || $! == 111 && !$self->{'econnrefused'}  | 
 
| 
939
 | 
 0  | 
 0  | 
 0  | 
 $^O ne 'MSWin32' || $! != 11  | 
 
| 
1319
 | 
 0  | 
 1  | 
 0  | 
 $flush or $connect  | 
 
| 
1354
 | 
 1  | 
 0  | 
 0  | 
 $! == 111 || $! == 104  | 
 
| 
1365
 | 
 0  | 
 0  | 
 0  | 
 not $Net::Ping::source_verify or $from_ip eq $addr_in and $from_port == $self->{'port_num'} and $from_msg eq $msg  | 
 
| 
1439
 | 
 26  | 
 0  | 
 0  | 
 $! == 115 or $^O eq "MSWin32" and $! == 11  | 
 
| 
1522
 | 
 8  | 
 0  | 
 20  | 
 my $host = shift() or $self->{'host'}  | 
 
| 
1542
 | 
 8  | 
 0  | 
 0  | 
 $entry->[4] || croak("Corrupted SYN entry for [$host]")  | 
 
| 
1581
 | 
 0  | 
 22  | 
 3  | 
 defined $winner_fd or my $nfound = mselect(undef, $wout = $wbits, undef, $timeout)  | 
 
| 
1588
 | 
 0  | 
 22  | 
 152  | 
 $wout =~ /^\0*\z/ or vec $wout, $fd, 1  | 
 
| 
1616
 | 
 2  | 
 0  | 
 0  | 
 $! == 111 || $! == 11 && $^O =~ /cygwin/i  | 
 
| 
1698
 | 
 0  | 
 0  | 
 0  | 
 not $how or not $self->{'econnrefused'} and $how == 111  | 
 
| 
1741
 | 
 0  | 
 0  | 
 0  | 
 shift() || croak('Usage> nack($failed_ack_host)')  | 
 
| 
1859
 | 
 0  | 
 0  | 
 0  | 
 !($h{'port'} =~ /^\d{1,5}$/) || $h{'port'} < 1 || $h{'port'} > 65535  | 
 
| 
1968
 | 
 8  | 
 0  | 
 0  | 
 $family == 2 or not defined $family and length $addr <= 16  |