X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FAGWMsg.pm;h=26939af9140e9d9784b48684f0aba209ddc67e9c;hb=11e514588175780cfbc8c75d97275e3ba4d705a4;hp=d80f423547184c456a46bce03a512c13b33b7d53;hpb=c644e2f01b7528fb3cd4666a552a5ee282462e88;p=spider.git diff --git a/perl/AGWMsg.pm b/perl/AGWMsg.pm index d80f4235..26939af9 100644 --- a/perl/AGWMsg.pm +++ b/perl/AGWMsg.pm @@ -262,6 +262,9 @@ sub _decode } } else { $conn = AGWMsg->new($rproc); + $conn->{agwpid} = $pid; + $conn->{agwport} = $port; + $conn->{lineend} = "\cR"; $conn->to_connected($call, 'A', $conn->{csort} = 'ax25'); } } elsif ($sort eq 'd') { @@ -309,9 +312,17 @@ sub in_disconnect sub disconnect { my $conn = shift; - _sendf('d', $main::mycall, $conn->{call}); + _sendf('d', $main::mycall, $conn->{call}, $conn->{agwport}); $conn->SUPER->disconnect; } +sub enqueue +{ + my ($conn, $msg) = @_; + if ($msg =~ /^[D]/) { + $msg =~ s/^[-\w]+\|//; + _sendf('D', $main::mycall, $conn->{call}, $conn->{agwport}, $conn->{agwpid}, $msg . $conn->{lineend}); + } +} 1;