make it work again
authorminima <minima>
Sat, 22 Feb 2003 22:14:13 +0000 (22:14 +0000)
committerminima <minima>
Sat, 22 Feb 2003 22:14:13 +0000 (22:14 +0000)
Changes
perl/DXUser.pm

diff --git a/Changes b/Changes
index c60896fd3602c3c63144bde43f5a5c224add4fcb..036c1043e264e83f686ec3e76b46e14bbe4075d5 100644 (file)
--- a/Changes
+++ b/Changes
@@ -8,9 +8,18 @@ callsigns to work better.
 other hand the code may work without, in a compatible way. This bit hasn't 
 been very well tested (the 'no Storable' condition that is). 
 
 other hand the code may work without, in a compatible way. This bit hasn't 
 been very well tested (the 'no Storable' condition that is). 
 
+[*** NOTE ***] make sure that you do an 'export_user' BEFORE restarting
+you node. (Yes I know this is like a shrinkwrap licence, but I can't
+help it).
+
 It will take several minutes for the node to restart when it does the 
 conversion from .v2 to .v3 user file. Please go and have a good strong cup
 of tea whilst this is happening.
 It will take several minutes for the node to restart when it does the 
 conversion from .v2 to .v3 user file. Please go and have a good strong cup
 of tea whilst this is happening.
+
+If it fails then you will need to edit your latest user_asc file on (or about)
+line 25 it says: $ref = decode($f[1]); you will need to change that to 
+$ref = asc_decode($f[1]); and then do: perl user_asc
 21Feb03=======================================================================
 1. moved the export of the users file to Wednesday night (GMT) to avoid 
 possible crashes and/or delays during a contest weekend.
 21Feb03=======================================================================
 1. moved the export of the users file to Wednesday night (GMT) to avoid 
 possible crashes and/or delays during a contest weekend.
index c1ab95aeb52b46314a5ca8b274ea15441c65255d..4787ce3cdb3aa64ec89db82d53fd4ccd5f1880e9 100644 (file)
@@ -129,12 +129,13 @@ sub init
        
        if ($@) {
                $ufn = "$fn.v2";
        
        if ($@) {
                $ufn = "$fn.v2";
+               $v3 = $convert = 0;
        } else {
                import Storable qw(nfreeze thaw);
 
                $ufn = "$fn.v3";
                $v3 = 1;
        } else {
                import Storable qw(nfreeze thaw);
 
                $ufn = "$fn.v3";
                $v3 = 1;
-               $convert = ! -e $ufn;
+               $convert++ unless -e $ufn;
        }
        
        if ($mode) {
        }
        
        if ($mode) {
@@ -142,14 +143,17 @@ sub init
        } else {
                $dbm = tie (%u, 'DB_File', $ufn, O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]";
        }
        } else {
                $dbm = tie (%u, 'DB_File', $ufn, O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]";
        }
+
+       $lru = LRU->newbase("DXUser", $lrusize);
        
        # do a conversion if required
        if ($convert) {
                my ($key, $val, $action, $count, $err) = ('','',0,0,0);
                
                my %oldu;
        
        # do a conversion if required
        if ($convert) {
                my ($key, $val, $action, $count, $err) = ('','',0,0,0);
                
                my %oldu;
-               dbg("Converting the User File to V3 (I suggest you go and have cup of strong tea)");
-               my $odbm = tie (%oldu, 'DB_File', "${fn}.v2", O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]";
+               dbg("Converting the User File to V3 ");
+               dbg("This will take a while, I suggest you go and have cup of strong tea");
+               my $odbm = tie (%oldu, 'DB_File', "$fn.v2", O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn.v2 ($!) [rebuild it from user_asc?]";
         for ($action = R_FIRST; !$odbm->seq($key, $val, $action); $action = R_NEXT) {
                        my $ref = asc_decode($val);
                        if ($ref) {
         for ($action = R_FIRST; !$odbm->seq($key, $val, $action); $action = R_NEXT) {
                        my $ref = asc_decode($val);
                        if ($ref) {
@@ -164,7 +168,6 @@ sub init
                dbg("Conversion completed $count records $err errors");
        }
        $filename = $ufn;
                dbg("Conversion completed $count records $err errors");
        }
        $filename = $ufn;
-       $lru = LRU->newbase("DXUser", $lrusize);
 }
 
 sub del_file
 }
 
 sub del_file