1. tidy up AUTOLOAD
authorminima <minima>
Thu, 16 Jan 2003 03:54:06 +0000 (03:54 +0000)
committerminima <minima>
Thu, 16 Jan 2003 03:54:06 +0000 (03:54 +0000)
2. make sure empty PC16s are not sent out on startup

12 files changed:
Changes
perl/Bands.pm
perl/DXChannel.pm
perl/DXDb.pm
perl/DXMsg.pm
perl/DXProt.pm
perl/DXUser.pm
perl/Prefix.pm
perl/Prot.pm
perl/Route.pm
perl/Route/Node.pm
perl/Route/User.pm

diff --git a/Changes b/Changes
index 1c057be0a07f9641fec8cc7edcbd8abd25894409..c26b5708e414b5ea3c7ca3998e24d5863bd3cd7c 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+14Jan03=======================================================================
+1. Tidy up AUTOLOAD functions
+2. Make sure that empty PC16s are not sent on startup to a node.
 12Jan03=======================================================================
 1. add Czech language courtesy of Milan OK1XH
 06Jan03=======================================================================
index 65849c9a5d0c3e732420e44eb175f7951930625b..728bb615538cdb7a6d8cdfbeac1bf74babf21c77 100644 (file)
@@ -141,7 +141,6 @@ sub field_prompt
 sub AUTOLOAD
 {
        no strict;
-       my $self = shift;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
        $name =~ s/^.*:://o;
@@ -149,9 +148,7 @@ sub AUTOLOAD
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-#      @_ ? $self->{$name} = shift : $self->{$name} ;
+       goto &$AUTOLOAD;
 }
 
 1;
index aae692efb52e4f31230c0b04b118765ee3236775..9ef0cec243671b78dafffd5ab306cb7c33cc3d4c 100644 (file)
@@ -626,7 +626,6 @@ sub broadcast_list
 #no strict;
 sub AUTOLOAD
 {
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
@@ -637,9 +636,7 @@ sub AUTOLOAD
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-#    @_ ? $self->{$name} = shift : $self->{$name} ;
+        goto &$AUTOLOAD;
 }
 
 
index b7a886716df0181f76f4fe694179cde9340afee8..6a57dc7cc8db3003ce7338b3288aff94fb2b0656 100644 (file)
@@ -348,7 +348,6 @@ sub field_prompt
 #no strict;
 sub AUTOLOAD
 {
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
@@ -358,9 +357,7 @@ sub AUTOLOAD
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-#      @_ ? $self->{$name} = shift : $self->{$name} ;
+        goto &$AUTOLOAD;
 }
 
 1;
index e90a6bb170b89f9a12587fc7fcc3b730ce7dd16e..5773c7e966b463b6f43397f525a2d3ad828f1e42 100644 (file)
@@ -1518,7 +1518,6 @@ sub import_one
 #no strict;
 sub AUTOLOAD
 {
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
@@ -1528,9 +1527,7 @@ sub AUTOLOAD
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-#      @_ ? $self->{$name} = shift : $self->{$name} ;
+       goto &$AUTOLOAD;
 }
 
 1;
index 60b0f1e6be9eec8c6ca340f5d871be739e0b45ea..53bd418ba6fc63e7dc7d627f788a8a74c750a94f 100644 (file)
@@ -1607,9 +1607,8 @@ sub send_local_config
        # get all the users connected on the above nodes and send them out
        foreach $node (@localnodes, @remotenodes) {
                if ($node) {
-                       $self->send_route(\&pc16, 1, $node, 
-                                                         map {my $r = Route::User::get($_); $r ? ($r) : ()} $node->users)
-                               if $self->user->wantsendpc16;
+                       my @rout = map {my $r = Route::User::get($_); $r ? ($r) : ()} $node->users;
+                       $self->send_route(\&pc16, 1, $node, @rout) if @rout && $self->user->wantsendpc16;
                } else {
                        dbg("sent a null value") if isdbg('chanerr');
                }
index cf847bc897778748295e61aa41d15962a8ef83a3..dec317a1928623ca40e004819cd473fdb53bda53 100644 (file)
@@ -91,7 +91,6 @@ $lrusize = 2000;
 #no strict;
 sub AUTOLOAD
 {
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
   
@@ -102,12 +101,7 @@ sub AUTOLOAD
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-#      if (@_) {
-#              $self->{$name} = shift;
-#      }
-#      return $self->{$name};
+       goto &$AUTOLOAD;
 }
 
 #use strict;
index 6f1c1f29a8849f23b4f753d6ab02eae75a905435..1e6e50c2d2e97baa42b7f8dc776b693113bf7d8f 100644 (file)
@@ -453,7 +453,6 @@ my %valid = (
 
 sub AUTOLOAD
 {
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
   
@@ -464,7 +463,7 @@ sub AUTOLOAD
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-       &$AUTOLOAD($self, @_);
+       goto &$AUTOLOAD;
 }
 
 #
index 17e3d517edbee50a14ddf3b5ada207877ca93762..23de1538198bf2c72aa3764d7f3856c41e7868a5 100644 (file)
@@ -53,8 +53,6 @@ sub new
 
 sub AUTOLOAD
 {
-#      no strict "refs";
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
@@ -62,9 +60,7 @@ sub AUTOLOAD
   
        confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-#    @_ ? $self->{$name} = shift : $self->{$name} ;
+       goto &$AUTOLOAD;
 }
 
 1;
index 387407669583ff325644bbc51d9517d1fc215de6..a9f80fea4e3afe8b1e546c88444fd202467141f8 100644 (file)
@@ -380,7 +380,6 @@ sub field_prompt
 #
 sub AUTOLOAD
 {
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
@@ -390,10 +389,9 @@ sub AUTOLOAD
 
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
-       *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
+       *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
+       goto &$AUTOLOAD;
 
-#    @_ ? $self->{$name} = shift : $self->{$name} ;
 }
 
 1;
index 1fbd8f71a291a1cddab0b6c71430bea16c1610cb..0c2b2e4a6f69c7d20449fc1005250a66f2869bda 100644 (file)
@@ -315,19 +315,16 @@ sub DESTROY
 sub AUTOLOAD
 {
        no strict;
-
-       my $self = shift;
-       $name = $AUTOLOAD;
+       my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
-       $name =~ s/.*:://o;
+       $name =~ s/^.*:://o;
   
        confess "Non-existant field '$AUTOLOAD'" unless $valid{$name} || $Route::valid{$name};
 
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
-#      print "AUTOLOAD: $AUTOLOAD\n";
-#      *{$AUTOLOAD} = sub {my $self = shift; @_ ? $self->{$name} = shift : $self->{$name}} ;
-    @_ ? $self->{$name} = shift : $self->{$name} ;
+        *$AUTOLOAD = sub {$_[0]->{$name} = $_[1] if @_ > 1; return $_[0]->{$name}};
+        goto &$AUTOLOAD;
 }
 
 1;
index bf72bbb52eb2c7c0d74dc0b963070fb25dcaaf8e..b9862e6de5f0b847a627a4af0279e2043cc85660 100644 (file)
@@ -104,18 +104,17 @@ sub delparent
 sub AUTOLOAD
 {
        no strict;
-
-       my $self = shift;
-       $name = $AUTOLOAD;
-       return if $name =~ /::DESTROY$/;
-       $name =~ s/.*:://o;
+       my ($pkg,$name) = $AUTOLOAD =~ /^(.*)::(\w+)$/;
+       return if $name eq 'DESTROY';
   
        confess "Non-existant field '$AUTOLOAD'" unless $valid{$name} || $Route::valid{$name};
 
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-    @_ ? $self->{$name} = shift : $self->{$name} ;
+       *$AUTOLOAD = sub {$_[0]->{$name} = $_[1] if @_ > 1; return $_[0]->{$name}};
+       goto &$AUTOLOAD;        
+#      *{"${pkg}::$name"} = sub {$_[0]->{$name} = $_[1] if @_ > 1; return $_[0]->{$name}};
+#      goto &{"${pkg}::$name"};        
 }
 
 1;