X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Ftalk.pl;h=a53b213e1f756a07e7e340dc32c7e22fe41b2e8a;hb=099c6b4a10d9f1e7471b0c94273cd992b5814cdc;hp=5b8cdaeedf137f7139628c6f81a03344946a1c3b;hpb=2546ef0cfaaca39e65985e414258071a636979af;p=spider.git diff --git a/cmd/talk.pl b/cmd/talk.pl index 5b8cdaee..a53b213e 100644 --- a/cmd/talk.pl +++ b/cmd/talk.pl @@ -1,6 +1,8 @@ # # The talk command # +# Copyright (c) 1998 Dirk Koopman G1TLH +# # $Id$ # @@ -12,22 +14,24 @@ my $from = $self->call(); if ($argv[1] eq '>') { $via = uc $argv[2]; -# print "argv[0] $argv[0] argv[2] $argv[2]\n"; - $line =~ s/^$argv[0]\s+>\s+$argv[2]\s*//o; + $line =~ s/^$argv[0]\s+>\s+$argv[2]\s*//; } else { -# print "argv[0] $argv[0]\n"; - $line =~ s/^$argv[0]\s*//o; + $line =~ s/^$argv[0]\s*//; } -#print "to=$to via=$via line=$line\n"; +my $call = $via ? $via : $to; +my $ref = DXCluster->get($call); +return (1, "$call not visible on the cluster") if !$ref; + my $dxchan = DXCommandmode->get($to); # is it for us? if ($dxchan && $dxchan->is_user) { $dxchan->send("$to de $from $line"); + Log('talk', $to, $from, $main::mycall, $line); } else { - my $prot = DXProt::pc10($self, $to, $via, $line); -# print "prot=$prot\n"; - + $line =~ s/\^//og; # remove any ^ characters + my $prot = DXProt::pc10($from, $to, $via, $line); DXProt::route($via?$via:$to, $prot); + Log('talk', $to, $from, $via?$via:$main::mycall, $line); } return (1, ());