X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=lib%2FZOOM.pm;h=60007afaf0ba07a76b7480f7fce4fcbba3da4479;hb=7775c1094c9b0288b2208925f0250356441f6bfd;hp=e4b28016cd88251bad87daeb4ee9d0cbad5aeddf;hpb=bc71325f3d0bbe522c276929d2b0abdbd0595cba;p=ZOOM-Perl-moved-to-github.git diff --git a/lib/ZOOM.pm b/lib/ZOOM.pm index e4b2801..60007af 100644 --- a/lib/ZOOM.pm +++ b/lib/ZOOM.pm @@ -1,4 +1,4 @@ -# $Id: ZOOM.pm,v 1.25 2005-12-22 12:48:15 mike Exp $ +# $Id: ZOOM.pm,v 1.27 2006-03-09 12:57:19 mike Exp $ use strict; use warnings; @@ -7,7 +7,6 @@ use Net::Z3950::ZOOM; package ZOOM; - # Member naming convention: hash-element names which begin with an # underscore represent underlying ZOOM-C object descriptors; those # which lack them represent Perl's ZOOM objects. (The same convention @@ -275,7 +274,7 @@ package ZOOM::Connection; sub new { my $class = shift(); - my($host, $port) = @_; + my($host, $port, @options) = @_; my $_conn = Net::Z3950::ZOOM::connection_new($host, $port || 0); my $conn = bless { @@ -283,6 +282,16 @@ sub new { port => $port, _conn => $_conn, }; + + while (@options >= 2) { + my $key = shift(@options); + my $val = shift(@options); + $conn->option($key, $val); + } + + die "Odd number of options specified" + if @options; + $conn->_check(); return $conn; } @@ -353,6 +362,7 @@ sub connect { my $this = shift(); my($host, $port) = @_; + $port = 0 if !defined $port; Net::Z3950::ZOOM::connection_connect($this->_conn(), $host, $port); $this->_check(); # No return value