X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fclear%2Fannounce.pl;h=98fb5b873104f040ea812bee4ae09c391457509c;hb=refs%2Fheads%2Fmojo;hp=41b29b42b7e4c52d7021fe4677e6733118cfecd6;hpb=956e3acab807900fdbccc0e2fa5e999327a1c1ce;p=spider.git diff --git a/cmd/clear/announce.pl b/cmd/clear/announce.pl index 41b29b42..98fb5b87 100644 --- a/cmd/clear/announce.pl +++ b/cmd/clear/announce.pl @@ -3,35 +3,35 @@ # # Copyright (c) 2000 Dirk Koopman G1TLH # -# $Id$ +# # my ($self, $line) = @_; my @f = split /\s+/, $line; my @out; -my $dxchan = $self; my $sort = 'ann'; my $flag; my $fno = 1; -my $call = $dxchan->call; +my $call = $self->call; +my $f; -my $f = lc shift @f if @f; if ($self->priv >= 8) { - if (is_callsign(uc $f)) { - my $uref = DXUser->get(uc $f); + if (@f && is_callsign(uc $f[0])) { + $f = uc shift @f; + my $uref = DXUser::get($f); $call = $uref->call if $uref; + } elsif (@f && lc $f[0] eq 'node_default' || lc $f[0] eq 'user_default') { + $call = lc shift @f; } - if (@f) { - $f = lc shift @f; - if ($f eq 'input') { - $flag = 'in'; - $f = shift @f if @f; - } + if (@f && $f[0] eq 'input') { + shift @f; + $flag = 'in'; } } -$fno = $f if $f; -my $filter = Filter::read_in($sort, $call, $flag); -Filter::delete($sort, $call, $flag, $fno); +$fno = shift @f if @f && $f[0] =~ /^\d|all$/; + +my $filter = Filter::read_in($sort, $call, $flag); +Filter::delete($sort, $call, $flag, $fno, $self); $flag = $flag ? "input " : ""; push @out, $self->msg('filter4', $flag, $sort, $fno, $call); return (1, @out);