X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=94c836344e54df81cdf098f4e3719a9940c0ee75;hb=7ac0ed9d6ff3a1953cdd6b210854381e3978f330;hp=6fbd9f21e8dcc8ccf58e75950d34aa48e2423ad7;hpb=b9dffeff7239952814342dad19db3a51def6fab7;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 6fbd9f21..94c83634 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -69,7 +69,10 @@ sub new # ALWAYS output the user my $ref = Route::User::get($call); - $main::me->route_pc16($main::mycall, undef, $main::routeroot, $ref) if $ref; + if ($ref) { + $main::me->route_pc16($main::mycall, undef, $main::routeroot, $ref); + $main::me->route_pc92a($main::mycall, undef, $main::routeroot, $ref); + } return $self; } @@ -378,11 +381,11 @@ sub send_talks my ($to, $via) = $ent =~ /(\S+)>(\S+)/; $to = $ent unless $to; - my $call = $via ? $via : $to; + my $call = $via && $via ne '*' ? $via : $to; my $clref = Route::get($call); my $dxchan = $clref->dxchan if $clref; if ($dxchan) { - $dxchan->talk($self->{call}, $to, $via, $line); + $dxchan->talk($self->{call}, $to, undef, $line); } else { $self->send($self->msg('disc2', $via ? $via : $to)); my @l = grep { $_ ne $ent } @{$self->{talklist}}; @@ -571,6 +574,7 @@ sub disconnect # issue a pc17 to everybody interested $main::me->route_pc17($main::mycall, undef, $main::routeroot, $uref); + $main::me->route_pc92d($main::mycall, undef, $main::routeroot, $uref); } else { confess "trying to disconnect a non existant user $call"; } @@ -823,7 +827,7 @@ sub local_send # send a talk message here sub talk { - my ($self, $from, $to, $via, $line) = @_; + my ($self, $from, $to, $via, $line, $onode) = @_; $line =~ s/\\5E/\^/g; if ($self->{talk}) { if ($self->{gtk}) { @@ -832,7 +836,7 @@ sub talk $self->local_send('T', "$to de $from: $line"); } } - Log('talk', $to, $from, $via?$via:$main::mycall, $line); + Log('talk', $to, $from, '<' . ($onode || '*'), $line); # send a 'not here' message if required unless ($self->{here} && $from ne $to) { my $key = "$to$from"; @@ -1167,5 +1171,12 @@ sub import_cmd } } } + +sub print_find_reply +{ + my ($self, $node, $target, $flag, $ms) = @_; + my $sort = $flag == 2 ? "External" : "Local"; + $self->send("$sort $target found at $node in $ms ms" ); +} 1; __END__