X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=9c04497680673939c3fc8ca9ac6c3e520e932ed8;hb=171f9837d8bb99d05c2b3bb87066d25d448eabd3;hp=efa5ff9b57d5e058eb3ac64c3a727e4296044bda;hpb=6a13b9579ce372473e3c7f6347413a4eb1780248;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index efa5ff9b..9c044976 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -729,11 +729,13 @@ sub normal my $flags = Route::here($here)|Route::conf($conf); if ($r) { + my @add; + push @add, $r->addparent($parent); if ($r->flags != $flags) { $r->flags($flags); - push @rout, $r; + push @add, $r unless @add; } - $r->addparent($parent); + push @rout, @add; } else { push @rout, $parent->add_user($call, $flags); } @@ -1893,8 +1895,8 @@ sub disconnect $self->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', "System Op"))); } - # get rid of any PC16/17/19/21s - eph_del_regex("^PC(?:1[679]|21).*$call"); + # get rid of any PC16/17/19 + eph_del_regex("^PC1[679]*$call"); # do routing stuff, remove me from routing table my $node = Route::Node::get($call); @@ -1905,7 +1907,7 @@ sub disconnect # and all my ephemera as well for (@rout) { my $c = $_->call; - eph_del_regex("^PC(?:1[679]|21).*$c"); + eph_del_regex("^PC1[679].*$c"); } } @@ -1919,7 +1921,7 @@ sub disconnect } # and the ephemera - eph_del_regex("^PC(?:1[679]|21).*$k"); + eph_del_regex("^PC1[679].*$k"); } # unbusy and stop and outgoing mail