2 # disconnect a local user
4 my ($self, $line) = @_;
5 my @calls = split /\s+/, $line;
10 return (1, $self->msg('e5'));
13 foreach $call (@calls) {
15 next if $call eq $main::mycall;
16 my $dxchan = DXChannel->get($call);
18 if ($dxchan->is_node) {
19 # $dxchan->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', $self->call)));
21 return (1, $self->msg('e5')) if $self->priv < 8;
22 $dxchan->send_now('D', $self->msg('disc1', $self->call));
25 push @out, $self->msg('disc2', $call);
26 } elsif (my $out = grep {$_->{call} eq $call} @main::outstanding_connects) {
27 unless ($^O =~ /^MS/i) {
28 kill 'TERM', $out->{pid};
30 @main::outstanding_connects = grep {$_->{call} ne $call} @main::outstanding_connects;
31 push @out, $self->msg('disc2', $call);
33 push @out, $self->msg('e10', $call);