X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fannounce.pl;h=d069f9768ad498b5ced24aeecb1e865d3839384e;hb=ee55bc4f9cf0763f17c9698ab4c7d47a4e7008ce;hp=350ff0efdddfb6cb2916997289cccd269e2f1075;hpb=96461da2f857d65129b2e6acd19bd075984c31f1;p=spider.git diff --git a/cmd/show/announce.pl b/cmd/show/announce.pl index 350ff0ef..d069f976 100644 --- a/cmd/show/announce.pl +++ b/cmd/show/announce.pl @@ -3,7 +3,7 @@ # # Copyright (c) 1998 - Dirk Koopman G1TLH # -# $Id$ +# # my $self = shift; @@ -28,11 +28,28 @@ while ($f = shift @f) { # next field next if $to; } next if $who; - ($who) = $f =~ /^(\w+)/o; + if ($f !~ /^\d+/) { + ($who) = $f; + } + if ($f !~ /^\d+/) { + ($who) = $f; + } + #($who) = $f =~ /^(\w+)/o; } $to = 20 unless $to; $from = 0 unless $from; -@out = DXLog::print($from, $to, $main::systime, 'ann', $who); +# if we can get it out of the cache than do it +if (!$who && !$from && $to < @AnnTalk::anncache) { + my @in = @AnnTalk::anncache[-$to .. -1]; + for (@in) { + push @out, DXLog::print_item($_); + } + return (1, @out); +} + +return (1, DXLog::print($from, $to, $main::systime, 'ann', $who)) if $self->{_nospawn} || $DB::VERSION; +return (1, $self->spawn_cmd("show/announce $cmdline", \&DXLog::print, args => [$from, $to, $main::systime, 'ann', $who])); + return (1, @out);