X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=3ea1282379eedfde361913de7e50291928bb21e4;hb=refs%2Fheads%2Fbackportdxprot;hp=419086adaa1230ef09e55772dc7fc17f625195f0;hpb=dabf8497c51068614efdd147f35c0a143f547424;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index 419086ad..3ea12823 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -90,6 +90,7 @@ $v3 = 0; believe => '1,Believable nodes,parray', lastping => '1,Last Ping at,ptimelist', maxconnect => '1,Max Connections', + width => '0,Preferred Width', ); #no strict; @@ -247,15 +248,15 @@ sub get # search for it unless ($dbm->get($call, $data)) { - $ref = decode($data); + $ref = eval{decode($data)}; if ($ref) { - if (UNIVERSAL::isa($ref, 'DXUser')) { - dbg("DXUser::get: got strange answer from decode ". ref $ref. " ignoring"); + if (!UNIVERSAL::isa($ref, 'DXUser')) { + dbg("DXUser::get: got strange answer from decode of $call". ref $ref. " ignoring"); return undef; } # we have a reference and it *is* a DXUser } else { - dbg("DXUser::get: no reference returned from decode $!"); + dbg("DXUser::get: no reference returned from decode of $call $! $@"); return undef; } $lru->put($call, $ref); @@ -281,7 +282,7 @@ sub get_current my $ref = $dxchan->user; return $ref if $ref && UNIVERSAL::isa($ref, 'DXUser'); - dbg("DXUser::get_current: got invalid user ref from dxchan $dxchan->{call} ". ref $ref. " ignoring"); + dbg("DXUser::get_current: got invalid user ref for $call from dxchan $dxchan->{call} ". ref $ref. " ignoring"); } return get($call); }