various RBN fixes, fix links spacing
[spider.git] / cmd / links.pl
index f35545577dce2dd9f78eff231af216ed1428eb3c..ed4082ff72a4e61af5df563a58c3181cb5a64752 100644 (file)
@@ -18,17 +18,18 @@ my $nowt = time;
 push @out, "                                                  Ave  Obs  Ping  Next      Filters";
 push @out, "  Callsign Type Started                 Uptime    RTT Count Int.  Ping Iso? In  Out PC92? Address";
 
-foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) {
-       my $call = $dxchan->call();
+foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all ) {
        next if $dxchan == $main::me;
+       next unless $dxchan->is_node || $dxchan->is_rbn;
+       my $call = $dxchan->call();
        my $t = cldatetime($dxchan->startt);
        my $sort;
        my $name = $dxchan->user->name || " ";
        my $obscount = $dxchan->nopings;
        my $pingint = $dxchan->pingint;
        my $lastt = $dxchan->lastping ? ($dxchan->pingint - ($nowt - $dxchan->lastping)) : $pingint;
-       my $ping = $dxchan->is_node && $dxchan != $main::me ? sprintf("%7.2f",$dxchan->pingave) : "";
-       my $iso = $dxchan->isolate ? 'Y' :' ';
+       my $ping = sprintf("%7.2f", $dxchan->pingave || 0);
+       my $iso = $dxchan->isolate ? 'Y' : ' ';
        my $uptime = difft($dxchan->startt, 1);
        my ($fin, $fout, $pc92) = (' ', ' ', ' ');
        if ($dxchan->do_pc9x) {
@@ -42,9 +43,10 @@ foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) {
                        $fout = $dxchan->routefilter =~ /node_default/ ? 'D' : 'Y';
                }
        }
-       unless ($pingint) {
+       unless ($pingint && $ping) {
                $lastt = 0;
-               $ping = "        ";
+               $ping = '       ';
+               $obscount = ' ';
        }
 
        $sort = "DXSP" if $dxchan->is_spider;
@@ -52,6 +54,7 @@ foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) {
        $sort = "DXNT" if $dxchan->is_dxnet;
        $sort = "AR-C" if $dxchan->is_arcluster;
        $sort = "AK1A" if $dxchan->is_ak1a;
+       $sort = "RBN " if $dxchan->is_rbn;
        my $ipaddr;
 
        my $addr = $dxchan->hostname;