projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add CTY1904 prefixes
[spider.git]
/
perl
/
DXProtHandle.pm
diff --git
a/perl/DXProtHandle.pm
b/perl/DXProtHandle.pm
index e19688bb1bba53295effd70c1a34bcf5326c83b5..8d766732777e31a90dc5c74f735ea3ca5136ae75 100644
(file)
--- a/
perl/DXProtHandle.pm
+++ b/
perl/DXProtHandle.pm
@@
-1406,6
+1406,7
@@
sub _add_thingy
} else {
dbg("ROUTE: added user $call to " . $parent->call) if isdbg('routelow');
@rout = $parent->add_user($call, Route::here($here));
} else {
dbg("ROUTE: added user $call to " . $parent->call) if isdbg('routelow');
@rout = $parent->add_user($call, Route::here($here));
+ $dxchan->tell_buddies('loginb', $call, $parent->call) if $dxchan;
}
if ($pc92_slug_changes && $parent == $main::routeroot) {
$things_add{$call} = Route::get($call);
}
if ($pc92_slug_changes && $parent == $main::routeroot) {
$things_add{$call} = Route::get($call);
@@
-1419,6
+1420,7
@@
sub _del_thingy
{
my $parent = shift;
my $s = shift;
{
my $parent = shift;
my $s = shift;
+ my $dxchan = shift;
my ($call, $is_node, $is_extnode, $here, $version, $build) = @$s;
my @rout;
if ($call) {
my ($call, $is_node, $is_extnode, $here, $version, $build) = @$s;
my @rout;
if ($call) {
@@
-1428,9
+1430,12
@@
sub _del_thingy
dbg("ROUTE: deleting node $call from " . $parent->call) if isdbg('routelow');
@rout = $ref->del($parent) if $ref;
} else {
dbg("ROUTE: deleting node $call from " . $parent->call) if isdbg('routelow');
@rout = $ref->del($parent) if $ref;
} else {
- $ref = Route::User::get($call);
dbg("ROUTE: deleting user $call from " . $parent->call) if isdbg('routelow');
dbg("ROUTE: deleting user $call from " . $parent->call) if isdbg('routelow');
- @rout = $parent->del_user($ref) if $ref;
+ $ref = Route::User::get($call);
+ if ($ref) {
+ $dxchan->tell_buddies('logoutb', $call, $parent->call) if $dxchan;
+ @rout = $parent->del_user($ref);
+ }
}
if ($pc92_slug_changes && $parent == $main::routeroot) {
$things_del{$call} = $ref unless exists $things_add{$call};
}
if ($pc92_slug_changes && $parent == $main::routeroot) {
$things_del{$call} = $ref unless exists $things_add{$call};
@@
-1755,12
+1760,13
@@
sub handle_92
push @radd, $add if $add;
}
push @radd, $add if $add;
}
- # do a pass through removing any references to either
locally connected nodes or
mycall
+ # do a pass through removing any references to either mycall
my @nent;
for (@ent) {
my @nent;
for (@ent) {
+ my $dxc;
next unless $_ && @$_;
next unless $_ && @$_;
- if ($_->[0] eq $main::mycall
|| DXChannel::get($_->[0])
) {
- dbg("PCPROT: $_->[0] refers to
locally connected nod
e, ignored") if isdbg('chanerr');
+ if ($_->[0] eq $main::mycall) {
+ dbg("PCPROT: $_->[0] refers to
m
e, ignored") if isdbg('chanerr');
next;
}
push @nent, $_;
next;
}
push @nent, $_;
@@
-1772,7
+1778,7
@@
sub handle_92
}
} elsif ($sort eq 'D') {
for (@nent) {
}
} elsif ($sort eq 'D') {
for (@nent) {
- push @rdel, _del_thingy($parent, $_);
+ push @rdel, _del_thingy($parent, $_
, $self
);
}
} elsif ($sort eq 'C') {
my (@nodes, @users);
}
} elsif ($sort eq 'C') {
my (@nodes, @users);
@@
-1806,10
+1812,10
@@
sub handle_92
}
# del users here
foreach my $r (@$dnodes) {
}
# del users here
foreach my $r (@$dnodes) {
- push @rdel,_del_thingy($parent, [$r, 1]);
+ push @rdel,_del_thingy($parent, [$r, 1]
, $self
);
}
foreach my $r (@$dusers) {
}
foreach my $r (@$dusers) {
- push @rdel,_del_thingy($parent, [$r, 0]);
+ push @rdel,_del_thingy($parent, [$r, 0]
, $self
);
}
# remember this last PC92C for rebroadcast on demand
}
# remember this last PC92C for rebroadcast on demand
@@
-1854,7
+1860,7
@@
sub find_pc9x_routes
if ($ref->isa('Route::User')) {
my $dxchan = DXChannel::get($to);
push @parent, $to if $dxchan;
if ($ref->isa('Route::User')) {
my $dxchan = DXChannel::get($to);
push @parent, $to if $dxchan;
- push @parent,
@{$ref->parent}
;
+ push @parent,
$ref->parents
;
} else {
@parent = $to;
}
} else {
@parent = $to;
}