X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=32830c28528dd0923bc2b71b0f72e19b693c630c;hb=dcb4f4b5aa1d99180127681af8996fff1160922c;hp=4ec31dee57721f0c4f83db9d632fe0487bdead9f;hpb=a5b42f8de3d2882755f72d42d9e9092868a61ec1;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 4ec31dee..32830c28 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -4,7 +4,7 @@ # # Copyright (c) 1998 Dirk Koopman G1TLH # -# $Id$ +# # package DXCommandmode; @@ -54,12 +54,6 @@ $cmdimportdir = "$main::root/cmd_import"; # the base directory for importing com # this does not exist as default, you need to create it manually # -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; - # # obtain a new connection this is derived from dxchannel # @@ -75,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; } @@ -384,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}}; @@ -577,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"; } @@ -829,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}) { @@ -838,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"; @@ -922,9 +920,9 @@ sub format_dx_spot my $t = ztime($_[2]); my $loc = ''; my $clth = $self->{consort} eq 'local' ? 29 : 30; - my $comment = substr $_[3], 0, $clth; + my $comment = substr (($_[3] || ''), 0, $clth); $comment .= ' ' x ($clth - length($comment)); - if ($self->{user}->wantgrid) { + if ($self->{user}->wantgrid) { my $ref = DXUser->get_current($_[4]); if ($ref) { $loc = $ref->qra || ''; @@ -1050,9 +1048,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 +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__