X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=cmd%2Ftalk.pl;h=ced47037b901b6951ec62f22fd323cb7a9254784;hb=bd14b9e29dbd64a441cc7b65f6b6b92717f8a01b;hp=899a44305a6a543e385e6282dbcd2f8bab85ba0e;hpb=cce161221036760959ff1d0b7628a55942bf558a;p=spider.git diff --git a/cmd/talk.pl b/cmd/talk.pl index 899a4430..ced47037 100644 --- a/cmd/talk.pl +++ b/cmd/talk.pl @@ -29,7 +29,7 @@ my $ref = DXCluster->get($call); # if we haven't got an explicit via and we can't see them, try their node unless ($ref || $via) { my $user = DXUser->get($call); - $ref = DXCluster->get_exact($user->node); + $ref = DXCluster->get_exact($user->node) if $user; if ($ref) { $via = $user->node; push @out, "trying via $via.."; @@ -37,14 +37,17 @@ unless ($ref || $via) { } return (1, "$call not visible on the cluster") if !$ref; +# change ^ into : for transmission +$line =~ s/\^/:/og; + my $dxchan = DXCommandmode->get($to); # is it for us? if ($dxchan && $dxchan->is_user) { - $dxchan->send("$to de $from $line"); + $dxchan->send("$to de $from $line") if $dxchan->talk; Log('talk', $to, $from, $main::mycall, $line); } else { $line =~ s/\^//og; # remove any ^ characters my $prot = DXProt::pc10($from, $to, $via, $line); - DXProt::route($via?$via:$to, $prot); + DXProt::route(undef,$via?$via:$to, $prot); Log('talk', $to, $from, $via?$via:$main::mycall, $line); }