X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FQSL.pm;h=d10345eda2ebbf70166ca9c42d91beae4e1e9acc;hb=431c8a14cdecd0ec455b6619380687dbe84e2a35;hp=e303e123aaa1bedf87393cab649eb4b9a858b6fe;hpb=2747e0fe4269e9a7e095c333598191eb9dca63fc;p=spider.git diff --git a/perl/QSL.pm b/perl/QSL.pm index e303e123..d10345ed 100644 --- a/perl/QSL.pm +++ b/perl/QSL.pm @@ -21,6 +21,7 @@ $qslfn = 'dxqsl'; $dbm = undef; $maxentries = 50; +my %u; my $json; localdata_mv("$qslfn.v1j"); @@ -33,10 +34,9 @@ sub init $json = JSON->new->canonical(1); Prefix::load() unless Prefix::loaded(); - - my %u; - undef $dbm; + finish() if $dbm; + if ($mode) { $dbm = tie (%u, 'DB_File', $ufn, O_CREAT|O_RDWR, 0666, $DB_BTREE) or confess "can't open qsl file: $qslfn ($!)"; } else { @@ -47,7 +47,9 @@ sub init sub finish { + $dbm->sync; undef $dbm; + untie %u; } sub new @@ -129,8 +131,8 @@ sub put sub remove_files { - unlink "$main::data/qsl.v1j"; - unlink "$main::local_data/qsl.v1j"; + unlink "$main::data/$qslfn.v1j"; + unlink "$main::local_data/$qslfn.v1j"; } # thaw the user