- my $ping = $dxchan->is_node && $dxchan != $DXProt::me ? sprintf("%8.2f",
- $dxchan->pingave) : "";
- push @out, sprintf "%10s $t %-6.6s $ping", $call;
-
+ my $obscount = $dxchan->nopings;
+ my $lastt = $dxchan->pingint - ($nowt - $dxchan->lastping);
+ my $pingint = $dxchan->pingint;
+ my $ping = $dxchan->is_node && $dxchan != $main::me ? sprintf("%8.2f",$dxchan->pingave) : "";
+ my $iso = $dxchan->isolate ? 'Y' :' ';
+ my ($fin, $fout, $pc92) = (' ', ' ', ' ');
+ if ($dxchan->do_pc9x) {
+ $pc92 = 'Y';
+ } else {
+ my $f;
+ if ($f = $dxchan->inroutefilter) {
+ $fin = $dxchan->inroutefilter =~ /node_default/ ? 'D' : 'Y';
+ }
+ if ($f = $dxchan->routefilter) {
+ $fout = $dxchan->routefilter =~ /node_default/ ? 'D' : 'Y';
+ }
+ }
+ unless ($pingint) {
+ $lastt = 0;
+ $ping = " ";
+ }
+ $sort = 'ANEA' if $dxchan->is_aranea;
+ $sort = "DXSP" if $dxchan->is_spider;
+ $sort = "CLX " if $dxchan->is_clx;
+ $sort = "DXNT" if $dxchan->is_dxnet;
+ $sort = "AR-C" if $dxchan->is_arcluster;
+ $sort = "AK1A" if $dxchan->is_ak1a;
+ push @out, sprintf "%10s $sort $t$ping $obscount %5d %5d $iso $fin $fout $pc92", $call, $pingint, $lastt;