From 6462efdcfd799f0b0c032565f19eea085ca0dba9 Mon Sep 17 00:00:00 2001 From: minima Date: Mon, 1 Apr 2002 16:29:50 +0000 Subject: [PATCH] move the eph_dups for PC17 and 21 --- perl/DXProt.pm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 5ab4186b..e07e3ba0 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -668,11 +668,6 @@ sub normal my $ncall = $field[2]; my $ucall = $field[1]; - if (eph_dup($line)) { - dbg("PCPROT: dup PC17 detected") if isdbg('chanerr'); - return; - } - eph_del_regex("^PC16\\^$ncall.*$ucall"); if ($ncall eq $main::mycall) { @@ -701,6 +696,12 @@ sub normal return unless $self->in_filter_route($parent); $parent->del_user($uref); + + if (eph_dup($line)) { + dbg("PCPROT: dup PC17 detected") if isdbg('chanerr'); + return; + } + $self->route_pc17($parent, $uref); return; } @@ -825,11 +826,8 @@ sub normal if ($pcno == 21) { # delete a cluster from the list my $call = uc $field[1]; - if (eph_dup($line)) { - dbg("PCPROT: dup PC21 detected") if isdbg('chanerr'); - return; - } - + eph_del_regex("^PC1[79].*$call"); + # if I get a PC21 from the same callsign as self then treat it # as a PC39: I have gone away if ($call eq $self->call) { @@ -837,8 +835,6 @@ sub normal return; } - eph_del_regex("^PC1[79].*$call"); - my @rout; my $parent = Route::Node::get($self->{call}); unless ($parent) { @@ -867,6 +863,11 @@ sub normal return; } +# if (eph_dup($line)) { +# dbg("PCPROT: dup PC21 detected") if isdbg('chanerr'); +# return; +# } + $self->route_pc21(@rout) if @rout; return; } -- 2.43.0