Change DXUser->get* to DXUser::get*
[spider.git] / perl / DXUser.pm
index ab0be7a2365fab82ac8745ee36c22fa65ef76d9f..e2c24f598a5eee6d7fdd941ade20ac7f46cb0c78 100644 (file)
@@ -3,7 +3,7 @@
 #
 # Copyright (c) 1998 - Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 
 package DXUser;
@@ -80,6 +80,7 @@ $v3 = 0;
                  wantdxcq => '0,Show CQ Zone,yesno',
                  wantdxitu => '0,Show ITU Zone,yesno',
                  wantgtk => '0,Want GTK interface,yesno',
+                 wantpc9x => '0,Want PC9X interface,yesno',
                  lastoper => '9,Last for/oper,cldatetime',
                  nothere => '0,Not Here Text',
                  registered => '9,Registered?,yesno',
@@ -236,7 +237,6 @@ sub new
 
 sub get
 {
-       my $pkg = shift;
        my $call = uc shift;
        my $data;
        
@@ -247,6 +247,11 @@ sub get
        # search for it
        unless ($dbm->get($call, $data)) {
                $ref = decode($data);
+               dbg("DXUser::get: data error on $call $!") unless $ref;
+               if ($ref && ref $ref ne 'DXUser') {
+                       dbg("DXUser::get: got strange answer from decode ". ref $ref. " ignoring");
+                       return undef;
+               }
                $lru->put($call, $ref);
                return $ref;
        }
@@ -263,14 +268,11 @@ sub get
 
 sub get_current
 {
-       my $pkg = shift;
        my $call = uc shift;
   
        my $dxchan = DXChannel::get($call);
        return $dxchan->user if $dxchan;
-       my $rref = Route::get($call);
-       return $rref->user if $rref && exists $rref->{user};
-       return $pkg->get($call);
+       return get($call);
 }
 
 #
@@ -716,6 +718,11 @@ sub wantgtk
        return _want('gtk', @_);
 }
 
+sub wantpc9x
+{
+       return _want('pc9x', @_);
+}
+
 sub wantlogininfo
 {
        my $self = shift;