Change DXUser->get* to DXUser::get*
[spider.git] / perl / DXUser.pm
index 06075151fc97520b12a4104cb28a62d5405b19d5..e2c24f598a5eee6d7fdd941ade20ac7f46cb0c78 100644 (file)
@@ -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;