Change DXUser->get* to DXUser::get*
[spider.git] / perl / DXUser.pm
index c4e3996b35b5e90a0ebde9688de582e6a86b3839..e2c24f598a5eee6d7fdd941ade20ac7f46cb0c78 100644 (file)
@@ -237,7 +237,6 @@ sub new
 
 sub get
 {
-       my $pkg = shift;
        my $call = uc shift;
        my $data;
        
@@ -248,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;
        }
@@ -264,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);
 }
 
 #