use DXDebug;
use DXProt;
-use IsoTime;
-use Investigate;
-use Time::HiRes qw(gettimeofday tv_interval);
+use DXLog;
use vars qw($VERSION $BRANCH @ISA %pings);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
my $self = shift;
my $dxchan = shift;
- # this is always routed
- if ($self->{to} eq $main::mycall ) {
- my $r = DXChannel::get($main::myalias);
- $dxchan = $r if $r;
+ if ($self->{to} eq $main::mycall) {
+ my $tochan = DXChannel::get($self->{u} || $main::myalias);
+ if ($tochan) {
+ $tochan->send($self->tocmd);
+ } else {
+ dbg("no user or $main::myalias not online") if isdbg('chanerr');
+ }
+ } else {
+ $self->route($dxchan);
}
- $self->route($dxchan);
-
}
sub topcxx
my @out;
my $ref = DXUser->get_current($self->{to});
- while (@_) {
- my $line = shift;
+ for (split /(?:%0D)?\%0A/, $self->{content}) {
+ my $line = $_;
$line =~ s/\s*$//;
Log('rcmd', 'out', $self->{to}, $line);
if ($self->{u} && $dxchan->is_clx && $ref->is_clx) {
- push @out, pc85($main::mycall, $self->{to}, $self->{u}, "$main::mycall:$line");
+ push @out, DXProt::pc85($main::mycall, $self->{to}, $self->{u}, "$main::mycall:$line");
} else {
- push @out, pc35($main::mycall, $self->{to}, "$main::mycall:$line");
+ push @out, DXProt::pc35($main::mycall, $self->{to}, "$main::mycall:$line");
}
}