--- deliantra/Deliantra-Client/DC.pm 2009/01/11 03:19:47 1.201 +++ deliantra/Deliantra-Client/DC.pm 2010/01/15 15:19:47 1.210 @@ -19,7 +19,7 @@ our $VERSION; BEGIN { - $VERSION = '2.02'; + $VERSION = '2.10'; use XSLoader; XSLoader::load "Deliantra::Client", $VERSION; @@ -36,20 +36,7 @@ use Storable (); # finally use Fcntl (); use JSON::XS qw(encode_json decode_json); - -=item guard { BLOCK } - -Returns an object that executes the given block as soon as it is destroyed. - -=cut - -sub guard(&) { - bless \(my $cb = $_[0]), "DC::Guard" -} - -sub DC::Guard::DESTROY { - ${$_[0]}->() -} +use Guard qw(guard); =item shorten $string[, $maxlength] @@ -156,7 +143,7 @@ for (@RC_PATH, "") { $path = "$RC_BASE/$_/$_[0]"; - return $path if -r $path; + return $path if -e $path; } die "FATAL: can't find required file \"$_[0]\" in \"$RC_BASE\"\n"; @@ -169,7 +156,7 @@ or return; local $/; - JSON::XS->new->utf8->relaxed->decode (<$fh>) + eval { JSON::XS->new->utf8->relaxed->decode (<$fh>) } } sub set_theme($) {