projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix announces
[spider.git]
/
perl
/
DXProtHandle.pm
diff --git
a/perl/DXProtHandle.pm
b/perl/DXProtHandle.pm
index 06649f67afb9d64a5d7d85f7bb8c35d0c461a87a..b83da41784b10ebb4f4d76bd13c25b34d30dfc3b 100644
(file)
--- a/
perl/DXProtHandle.pm
+++ b/
perl/DXProtHandle.pm
@@
-4,7
+4,7
@@
#
# Copyright (c) 1998-2006 Dirk Koopman G1TLH
#
#
# Copyright (c) 1998-2006 Dirk Koopman G1TLH
#
-#
$Id$
+#
#
package DXProt;
#
package DXProt;
@@
-1553,8
+1553,13
@@
sub handle_92
# reparent to external node (note that we must have received a 'C' or 'A' record
# from the true parent node for this external before we get one for the this node
unless ($parent = Route::Node::get($call)) {
# reparent to external node (note that we must have received a 'C' or 'A' record
# from the true parent node for this external before we get one for the this node
unless ($parent = Route::Node::get($call)) {
- dbg("PCPROT: no previous C or A for this external node received, ignored") if isdbg('chanerr');
- return;
+ if ($is_extnode && $oparent) {
+ @radd = _add_thingy($oparent, $ent[0]);
+ $parent = $radd[0];
+ } else {
+ dbg("PCPROT: no previous C or A for this external node received, ignored") if isdbg('chanerr');
+ return;
+ }
}
$parent = check_pc9x_t($call, $t, 92) || return;
$parent->via_pc92(1);
}
$parent = check_pc9x_t($call, $t, 92) || return;
$parent->via_pc92(1);
@@
-1594,10
+1599,12
@@
sub handle_92
# we only reset obscounts on config records
$oparent->reset_obs;
# we only reset obscounts on config records
$oparent->reset_obs;
- dbg("ROUTE: reset obscount on $pcall now " . $oparent->obscount) if isdbg('route');
+ $oparent->PC92C_dxchan($self->{call}) unless $self->{call} eq $oparent->call;
+ dbg("ROUTE: reset obscount on $pcall now " . $oparent->obscount) if isdbg('obscount');
if ($oparent != $parent) {
$parent->reset_obs;
if ($oparent != $parent) {
$parent->reset_obs;
- dbg("ROUTE: reset obscount on $parent->{call} now " . $parent->obscount) if isdbg('route');
+ $parent->PC92C_dxchan($self->{call}) unless $self->{call} eq $parent->call;
+ dbg("ROUTE: reset obscount on $parent->{call} now " . $parent->obscount) if isdbg('obscount');
}
#
}
#
@@
-1759,9
+1766,7
@@
sub handle_default
my $line = shift;
my $origin = shift;
my $line = shift;
my $origin = shift;
- if (eph_dup($line)) {
- dbg("PCPROT: Ephemeral dup, dropped") if isdbg('chanerr');
- } else {
+ unless (eph_dup($line)) {
if ($pcno >= 90) {
my $pcall = $_[1];
unless (is_callsign($pcall)) {
if ($pcno >= 90) {
my $pcall = $_[1];
unless (is_callsign($pcall)) {