X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=460e401a0099b6a9b7f7cc711ffbf33e1116d4c8;hb=ea55eb71e67966eb817c5fb9880efeec3aa64cc6;hp=52e7b3eda744774ad3e6f9ce673c4214d4e1faaa;hpb=f811f3e99bb81aaeed8949cf56fe435181b0814f;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 52e7b3ed..460e401a 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -559,10 +559,13 @@ sub normal my $r = Route::User::get($call); my $flags = Route::here($here)|Route::conf($conf); - if ($r && $r->flags != $flags) { - $r->flags($flags); - push @rout, $r; - } elsif (!$r) { + if ($r) { + if ($r->flags != $flags) { + $r->flags($flags); + push @rout, $r; + } + $r->addparent($ncall); + } else { push @rout, $parent->add_user($call, $flags); } @@ -789,16 +792,11 @@ sub normal return unless $nref || $uref; # if we don't know where they are, it's pointless sending it on unless (eph_dup($line)) { - if ($nref) { - $nref->here($field[2]); - return unless $self->in_filter_route($nref); - $self->route_pc24($nref, $field[3]) - } - if ($uref) { - $uref->here($field[2]); - return unless $self->in_filter_route($uref); - $self->route_pc24($uref, $field[3]); - } + $nref->here($field[2]) if $nref; + $uref->here($field[2]) if $uref; + my $ref = $nref || $uref; + return unless $self->in_filter_route($ref); + $self->route_pc24($ref, $field[3]); } return; }