X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=lib%2FZOOM.pm;h=a88be643ba026044927c98987ac6f7821d560a9a;hb=9140a0be284807f6509e1b3800c6093633940e17;hp=a90644216c599e13632bef940e963ad8921ff833;hpb=821a2c992b0611b370cc43493ec3a96deb2dced1;p=ZOOM-Perl-moved-to-github.git diff --git a/lib/ZOOM.pm b/lib/ZOOM.pm index a906442..a88be64 100644 --- a/lib/ZOOM.pm +++ b/lib/ZOOM.pm @@ -1,4 +1,4 @@ -# $Id: ZOOM.pm,v 1.41 2006-11-03 09:23:06 mike Exp $ +# $Id: ZOOM.pm,v 1.42 2006-11-28 16:47:19 mike Exp $ use strict; use warnings; @@ -379,7 +379,7 @@ sub error_x { my($errcode, $errmsg, $addinfo, $diagset) = (undef, "dummy", "dummy", "d"); $errcode = Net::Z3950::ZOOM::connection_error_x($this->_conn(), $errmsg, $addinfo, $diagset); - return ($errcode, $errmsg, $addinfo, $diagset); + return wantarray() ? ($errcode, $errmsg, $addinfo, $diagset) : $errcode; } sub errcode { @@ -817,6 +817,24 @@ sub _rec { return $_rec; } +sub error { + my $this = shift(); + + my($errcode, $errmsg, $addinfo, $diagset) = (undef, "dummy", "dummy", "d"); + $errcode = Net::Z3950::ZOOM::record_error($this->_rec(), $errmsg, + $addinfo, $diagset); + + return wantarray() ? ($errcode, $errmsg, $addinfo, $diagset) : $errcode; +} + +sub exception { + my $this = shift(); + + my($errcode, $errmsg, $addinfo, $diagset) = $this->error(); + return new ZOOM::Exception($errcode, $errmsg, $addinfo, $diagset); +} + + sub render { my $this = shift();