From faf71f0173fd6e310b7e07db97764433c137104c Mon Sep 17 00:00:00 2001 From: Dirk Koopman Date: Fri, 20 Jul 2007 15:50:14 +0100 Subject: [PATCH] harden hop count decrementing. add better links command --- .gitignore | 6 ++++++ cmd/links.pl | 21 +++++++++++++++++---- data/.gitignore | 2 ++ perl/DXProt.pm | 7 ++++--- perl/Version.pm | 4 ++-- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 1ca43b05..ae974f3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,10 @@ local* *~ *.[oa] +*.oo +*.ooo +*.oooo +*.ooooo *.tmp CVS tmp @@ -14,3 +18,5 @@ tmp packclus tutor* db +core +a.out diff --git a/cmd/links.pl b/cmd/links.pl index df4476c0..4bad6285 100644 --- a/cmd/links.pl +++ b/cmd/links.pl @@ -15,8 +15,8 @@ my $dxchan; my @out; my $nowt = time; -push @out, " Ave Obs Ping Sec Since"; -push @out, " Callsign Type Started RTT count Int. Last Ping"; +push @out, " Ave Obs Ping Next Filters"; +push @out, " Callsign Type Started RTT Count Int. Ping Iso? In Out PC92?"; foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) { my $call = $dxchan->call(); @@ -25,16 +25,29 @@ foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) { my $sort; my $name = $dxchan->user->name || " "; my $obscount = $dxchan->nopings; - my $lastt = $nowt - ($dxchan->lastping); + 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'; + } + } $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", $call, $pingint, $lastt; + push @out, sprintf "%10s $sort $t$ping $obscount %5d %5d $iso $fin $fout $pc92", $call, $pingint, $lastt; } return (1, @out) diff --git a/data/.gitignore b/data/.gitignore index 6027afdc..676742e3 100644 --- a/data/.gitignore +++ b/data/.gitignore @@ -11,3 +11,5 @@ wcy motd* issue logout +connected +hoptable.pl diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 360bb2dd..18ecf129 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -2164,13 +2164,14 @@ sub adjust_hops return "" if defined $newhops && $newhops == 0; $newhops = $ref->{default} unless $newhops; return "" if defined $newhops && $newhops == 0; - $newhops = $hops if !$newhops; + $newhops = $hops unless $newhops; + return "" unless $newhops > 0; $s =~ s/\^H(\d+)(\^~?)$/\^H$newhops$2/ if $newhops; } else { # simply decrement it $hops--; - return "" if !$hops; - $s =~ s/\^H(\d+)(\^~?)$/\^H$hops$2/ if $hops; + return "" unless $hops > 0; + $s =~ s/\^H(\d+)(\^~?)$/\^H$hops$2/; } } return $s; diff --git a/perl/Version.pm b/perl/Version.pm index dac731e1..dff014c3 100644 --- a/perl/Version.pm +++ b/perl/Version.pm @@ -9,7 +9,7 @@ package main; use vars qw($version $build); -$version = '1.53'; -$build = '16'; +$version = ''; +$build = '1'; 1; -- 2.43.0