X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=e2c24f598a5eee6d7fdd941ade20ac7f46cb0c78;hb=ab811a0c902225075a9bd69749f65594079433a9;hp=840498c041d3e4d20c707e398c0b0a8028ef625a;hpb=ae313f260d904cd45b58e4d1e620a49aef1a42c9;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index 840498c0..e2c24f59 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -3,7 +3,7 @@ # # Copyright (c) 1998 - Dirk Koopman G1TLH # -# $Id$ +# # package DXUser; @@ -19,12 +19,6 @@ use LRU; use strict; -use vars qw($VERSION $BRANCH); -$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); -$main::build += $VERSION; -$main::branch += $BRANCH; - use vars qw(%u $dbm $filename %valid $lastoperinterval $lasttime $lru $lrusize $tooold $v3); %u = (); @@ -86,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', @@ -242,7 +237,6 @@ sub new sub get { - my $pkg = shift; my $call = uc shift; my $data; @@ -253,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; } @@ -269,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); } # @@ -722,6 +718,11 @@ sub wantgtk return _want('gtk', @_); } +sub wantpc9x +{ + return _want('pc9x', @_); +} + sub wantlogininfo { my $self = shift;