X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=e2c24f598a5eee6d7fdd941ade20ac7f46cb0c78;hb=ab811a0c902225075a9bd69749f65594079433a9;hp=06075151fc97520b12a4104cb28a62d5405b19d5;hpb=fd0a34c34ad4112ee21e0730f7307498ff437e18;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index 06075151..e2c24f59 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -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;