From 877fab7416e9545aeae5b9880246262bc92be650 Mon Sep 17 00:00:00 2001 From: minima Date: Thu, 14 Jun 2001 22:40:35 +0000 Subject: [PATCH] improve PC19 handling --- perl/DXProt.pm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/perl/DXProt.pm b/perl/DXProt.pm index d5e886e5..3767145c 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -648,22 +648,21 @@ sub normal # update it if required my $r = Route::Node::get($call); my $flags = Route::here($here)|Route::conf($conf); - if ($parent->call eq $call && ($parent->version ne $ver || $parent->flags != $flags)) { - $parent->version($ver); - $parent->flags($flags); - push @rout, $parent; - } elsif ($r) { - my $ar = $parent->add($r); - push @rout, $ar if $ar; + if ($r) { + my $ar; + if ($call ne $parent->call) { + $ar = $parent->add($r); + push @rout, $ar if $ar; + } if ($r->version ne $ver || $r->flags != $flags) { $r->version($ver); $r->flags(Route::here($here)|Route::conf($conf)); push @rout, $r unless $ar; } - } elsif ($parent->call ne $call) { + } else { next if $call eq $main::mycall || $call eq $self->{call}; - my $new = Route::Node->new($call, $ver, Route::here($here)|Route::conf($conf)); + my $new = $parent->new($call, $ver, Route::here($here)|Route::conf($conf)); if ($self->in_filter_route($new)) { $parent->add($new); push @rout, $new; -- 2.34.1