X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Flog.pl;h=82356bcd390029c726efc6e91f89c9389fc6f09f;hb=a8b49f6c169f586810953d354fb90df33c030e58;hp=63326b7ba80903b2710c91adccd1c7ef672ae980;hpb=099c6b4a10d9f1e7471b0c94273cd992b5814cdc;p=spider.git diff --git a/cmd/show/log.pl b/cmd/show/log.pl index 63326b7b..82356bcd 100644 --- a/cmd/show/log.pl +++ b/cmd/show/log.pl @@ -3,32 +3,44 @@ # # Copyright (c) 1998 - Dirk Koopman G1TLH # -# $Id$ # -my $self = shift; - -return (1, $self->msg('e5')) if $self->priv < 9; +# -my $cmdline = shift; -my @f = split /\s+/, $cmdline; -my $f; -my @out; -my ($from, $to); +sub handle +{ + my $self = shift; -$from = 0; -while ($f = shift @f) { # next field - # print "f: $f list: ", join(',', @list), "\n"; - if (!$from && !$to) { - ($from, $to) = $f =~ /^(\d+)-(\d+)$/o; # is it a from -> to count? - next if $from && $to > $from; - } - if (!$to) { - ($to) = $f =~ /^(\d+)$/o if !$to; # is it a to count? - next if $to; + my $cmdline = shift; + my @f = split /\s+/, $cmdline; + my $f; + my @out; + my ($from, $to, $who, $hint); + + $from = 0; + while ($f = shift @f) { # next field + # print "f: $f list: ", join(',', @list), "\n"; + unless ($from || $to) { + ($from, $to) = $f =~ /^(\d+)-(\d+)$/o; # is it a from -> to count? + next if $from && $to > $from; + } + unless ($to) { + ($to) = $f =~ /^(\d+)$/o if !$to; # is it a to count? + next if $to; + } + unless ($who) { + $who = $f; + next if $who; + } } -} -$to = 20 if !$to; + $to = 20 unless $to; + $from = 0 unless $from; + + if ($self->priv < 6) { + return (1, $self->msg('e5')) if defined $who && $who ne $self->call; + $who = $self->call; + } -@out = DXLog::print($from, $to, $main::systime); -return (1, @out); + return (1, DXLog::print($from, $to, $main::systime, undef, $who)) if $self->{_nospawn}; + return (1, $self->spawn_cmd("show/log $cmdline", \&DXLog::print, args => [$from, $to, $main::systime, undef, $who])); +}