X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Flog.pl;h=29d2b51232aca51f3bae521e98ce2ac42b18d1e5;hb=201dedf3e4325faab5c34b38135790012142286b;hp=106bfd47b9816bdb75f36108710dcdd0bdd4c753;hpb=69c8aeb338cc485103e289fbab7ec4e7e056ed20;p=spider.git diff --git a/cmd/show/log.pl b/cmd/show/log.pl index 106bfd47..29d2b512 100644 --- a/cmd/show/log.pl +++ b/cmd/show/log.pl @@ -3,35 +3,45 @@ # # 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, $who); +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; + } } - next if $who; - ($who) = $f =~ /^(\w+)/o; -} -$to = 20 unless $to; -$from = 0 unless $from; + $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, undef, $who); -return (1, @out); + @out = $self->spawn_cmd("show/log $cmdline", \&DXLog::print, args => [$from, $to, $main::systime, undef, $who]); + + return (1, @out); +}