X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Ftalk.pl;h=6b3c4ea95a724957a2256a05ed7b70face4d1a27;hb=f47c97d80722ed7d1881afa7caa0e8d24b6b0a75;hp=612f2b089358bebda4c03095677a49de616b90ed;hpb=099c6b4a10d9f1e7471b0c94273cd992b5814cdc;p=spider.git diff --git a/cmd/show/talk.pl b/cmd/show/talk.pl index 612f2b08..6b3c4ea9 100644 --- a/cmd/show/talk.pl +++ b/cmd/show/talk.pl @@ -3,17 +3,15 @@ # # 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); +my ($from, $to, $who); $from = 0; while ($f = shift @f) { # next field @@ -26,9 +24,19 @@ while ($f = shift @f) { # next field ($to) = $f =~ /^(\d+)$/o if !$to; # is it a to count? next if $to; } + next if $who; + if ($f !~ /^\d+/) { + ($who) = $f; + } +# ($who) = $f =~ /^(\w+)/o; } -$to = 20 if !$to; +$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; +} -@out = DXLog::print($from, $to, $main::systime, '^talk'); -return (1, @out); +return (1, DXLog::print($from, $to, $main::systime, 'talk', $who)) if $self->{_nospawn}; +return (1, $self->spawn_cmd("show/talk $cmdline", \&DXLog::print, args => [$from, $to, $main::systime, 'talk', $who]));