X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Flog.pl;h=fa8806c21f68554c30b7e6fb64ae85035cd35586;hb=8e14149148baba63ce5ae2b95aacda8ab6dd0d87;hp=8a00e3852131b0972bfd44b9971ea185cd97885e;hpb=c20a2c1e01d707d6c3fa25067df93d491aba8fff;p=spider.git diff --git a/cmd/show/log.pl b/cmd/show/log.pl index 8a00e385..fa8806c2 100644 --- a/cmd/show/log.pl +++ b/cmd/show/log.pl @@ -3,37 +3,44 @@ # # Copyright (c) 1998 - Dirk Koopman G1TLH # -# $Id$ # -my $self = shift; +# -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; + 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+)$/ if !$to; # is it a to count? + next if $to; + } + unless ($f =~ /^\d+$/) { + $who = $f; + next if $who; + } } - if (!$to) { - ($to) = $f =~ /^(\d+)$/o if !$to; # is it a to count? - next 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; } - next if $who; - ($who) = $f =~ /^(\w+)/o; -} -$to = 20 unless $to; -$from = 0 unless $from; -if ($self->priv < 6) { - $who = $self->call unless $who; - return (1, $self->msg('e5')) if $who ne $self->call; + return (1, DXLog::print($from, $to, $main::systime, undef, $who)) if ($self->{_nospawn} || $main::is_win == 1); + return (1, $self->spawn_cmd("show/log $cmdline", \&DXLog::print, args => [$from, $to, $main::systime, undef, $who])); } - -@out = DXLog::print($from, $to, $main::systime, $who); -return (1, @out);