X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy%2FConnection.pm;h=66641686025f6e2cbdeef4efb6db817df31a2f1f;hb=4f36c963da80271ffea671999e41aaa04ea9a36f;hp=61aa85649853feca8095b1f990fda5d750425cdd;hpb=7b1ce08d86449fb47f358ef2169e54fe78772f23;p=irspy-moved-to-github.git diff --git a/lib/ZOOM/IRSpy/Connection.pm b/lib/ZOOM/IRSpy/Connection.pm index 61aa856..6664168 100644 --- a/lib/ZOOM/IRSpy/Connection.pm +++ b/lib/ZOOM/IRSpy/Connection.pm @@ -1,4 +1,3 @@ -# $Id: Connection.pm,v 1.19 2007-12-18 11:59:42 mike Exp $ package ZOOM::IRSpy::Connection; @@ -51,7 +50,11 @@ sub create { eval { $rs = $irspy->{conn}->search(new ZOOM::Query::CQL($query)); }; if ($@) { - die "registry search for record '$id' had error: '$@'"; + # This should be a "can't happen", but junk entries such as + # //lucasportal.info/blogs/payday-usa">'night:G'night/Illepeliz + # (yes, really) yield BIB-1 diagnostic 108 "Malformed query" + warn "registry search for record '$id' had error: '$@' -- skipping"; + return undef; } my $n = $rs->size(); $this->log("irspy", "query '$query' found $n record", $n==1 ? "" : "s"); @@ -145,6 +148,7 @@ sub irspy_search { my $this = shift(); my($qtype, $qstr, $udata, $options, %cb) = @_; + { use Carp; confess "Odd-sized hash!" if @_ % 2; } #warn "calling $this->irspy_search(", join(", ", @_), ")\n"; $this->add_task(new ZOOM::IRSpy::Task::Search ($qtype, $qstr, $this, $udata, $options, %cb));