get the pc19 and pc20 the correct way around
[spider.git] / perl / Thingy / Rt.pm
index 89c8452ea56927a9d05bef9414efe45b870a2b4f..d99b439ef88cd872b3d8f3a9a17a2890e42b2fef 100644 (file)
@@ -94,29 +94,33 @@ sub handle_cf
        my %in;
        if ($thing->{n}) {
                for (split(/:/, $thing->{n})) {
-                       my ($here, $call) = unpack("A1 A*", $_); 
+                       my ($here, $call) = unpack("A1 A*", $_);
+                       next if $call eq $main::mycall;
                        $in{$call} = $here;
                }
        }
        if ($thing->{a}) {
                for (split(/:/, $thing->{a})) {
                        my ($here, $call) = unpack("A1 A*", $_); 
+                       next if $call eq $main::mycall;
                        $in{$call} = $here;
                } 
        }
        my ($del, $add) = $parent->diff_nodes(keys %in);
-       if ($add) {
+       if ($del) {
                my @pc21;
                foreach my $call (@$del) {
+                       next if $call eq $main::mycall;
                        RouteDB::delete($call, $chan_call);
                        my $ref = Route::Node::get($call);
                        push @pc21, $ref->del($parent) if $ref;
                }
                $thing->{pc21n} = \@pc21 if @pc21;
        }
-       if ($del) {
+       if ($add) {
                my @pc19;
                foreach my $call (@$add) {
+                       next if $call eq $main::mycall;
                        RouteDB::update($call, $chan_call);
                        my $here = $in{$call};
                        push @pc19, $parent->add($call, 0, $here);