sub get
{
- my $pkg = shift;
my $call = uc shift;
my $data;
# 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;
}
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);
}
#