X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FQSL.pm;h=f62897bff61667086d98480f1aded750ce61a0ca;hb=2733a992ac8c3d315c110a2cc1984ea0a5e5d0ff;hp=d10345eda2ebbf70166ca9c42d91beae4e1e9acc;hpb=bb4e9b13809a5d4c4971c3286309d12fe0f82047;p=spider.git diff --git a/perl/QSL.pm b/perl/QSL.pm index d10345ed..f62897bf 100644 --- a/perl/QSL.pm +++ b/perl/QSL.pm @@ -13,7 +13,7 @@ use DXUtil; use DB_File; use DXDebug; use Prefix; -use JSON; +use DXJSON; use Data::Structure::Util qw(unbless); use vars qw($qslfn $dbm $maxentries); @@ -31,7 +31,7 @@ sub init my $mode = shift; my $ufn = localdata("$qslfn.v1j"); - $json = JSON->new->canonical(1); + $json = DXJSON->new; Prefix::load() unless Prefix::loaded(); @@ -138,27 +138,13 @@ sub remove_files # thaw the user sub decode { - my $s = shift; - my $ref; - eval { $ref = $json->decode($s) }; - if ($ref && !$@) { - return bless $ref, 'QSL'; - } - return undef; + return $json->decode($_[0], __PACKAGE__); } # freeze the user sub encode { - my $ref = shift; - unbless($ref); - my $s; - - eval {$s = $json->encode($ref) }; - if ($s && !$@) { - bless $ref, 'QSL'; - return $s; - } + return $json->encode($_[0]); } 1;