only allow xml if we are doing xml
[spider.git] / perl / Thingy / Bye.pm
index a29649664de727adb6d92c25266efdcd0af0f7f6..740ca6c791d3ac4cfde238f7c97967a27b4feb18 100644 (file)
@@ -1,6 +1,9 @@
 #
 # Bye Thingy handling
 #
+# Note that this is a generator of pc21n and pc17n/pc17u
+# and a consumer of fpc21n and fpc21n
+#
 # $Id$
 #
 # Copyright (c) 2005 Dirk Koopman G1TLH
@@ -39,7 +42,7 @@ sub handle
 
        # fix the interface routing
        my $intcall = $thing->{user} || $thing->{origin};
-       if ($dxchan->{call} eq $thing->{origin}) {
+       if ($dxchan->{call} eq $thing->{origin} && !$thing->{user}) {
                RouteDB::delete_interface($intcall);
        } else {
                RouteDB::delete($intcall, $dxchan->{call});
@@ -48,15 +51,15 @@ sub handle
        # pc prot generation
        my @pc21;
        if (my $user = $thing->{user}) {
-               my $parent = Route::Node->get($thing->{origin});
+               my $parent = Route::Node::get($thing->{origin});
                my $uref = Route::get($user);
                if ($parent && $uref) {
                        if ($uref->isa('Route::Node')) {
-                               @pc21 = $parent->del($uref);
+                               @pc21 = $uref->del($parent);
                        } else {
                                $parent->del_user($uref);
-                               $thing->{pc17n} = $thing->{origin};
-                               $thing->{pc17u} = $user;
+                               $thing->{pc17n} = $parent;
+                               $thing->{pc17u} = [$uref];
                        }
                }
        } else {