X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=71efaef733d2db6d0c0f68b51384bb74d0b87535;hb=c1a9cb4e04fb7db7898b05542e671c4e9e55fb93;hp=528067061a52332a7c9c7b4a5659a9407e05a055;hpb=ae313f260d904cd45b58e4d1e620a49aef1a42c9;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 52806706..71efaef7 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -55,10 +55,7 @@ $cmdimportdir = "$main::root/cmd_import"; # the base directory for importing com # use vars qw($VERSION $BRANCH); -$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); -$main::build += $VERSION; -$main::branch += $BRANCH; +($VERSION, $BRANCH) = dxver(q$Revision$); # # obtain a new connection this is derived from dxchannel @@ -75,7 +72,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; } @@ -384,11 +384,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}}; @@ -577,6 +577,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"; } @@ -833,7 +834,7 @@ sub talk $line =~ s/\\5E/\^/g; if ($self->{talk}) { if ($self->{gtk}) { - $self->local_send('T', dd(['talk',$to,$from,$via,$line,@_])); + $self->local_send('T', dd(['talk',$to,$from,$via,$line])); } else { $self->local_send('T', "$to de $from: $line"); } @@ -1050,9 +1051,9 @@ sub broadcast_debug foreach my $dxchan (DXChannel::get_all) { next unless $dxchan->{enhanced} && $dxchan->{senddbg}; if ($dxchan->{gtk}) { - $dxchan->local_send('L', dd(['db', $s])); + $dxchan->send_later('L', dd(['db', $s])); } else { - $dxchan->local_send('L', $s); + $dxchan->send_later('L', $s); } } } @@ -1173,5 +1174,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__