X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2FWebPAC%2FInput%2FMARC.pm;fp=lib%2FWebPAC%2FInput%2FMARC.pm;h=2786018f59833ea2a5df932e4900f6467d07dada;hb=0f09140b0a3bce51a74998fff26a5579d2d10758;hp=fdcce3612996399037bf777a3591b867b39065ab;hpb=5b4c4bd44065589e14c6e4debd7c2c0cec515c34;p=webpac2 diff --git a/lib/WebPAC/Input/MARC.pm b/lib/WebPAC/Input/MARC.pm index fdcce36..2786018 100644 --- a/lib/WebPAC/Input/MARC.pm +++ b/lib/WebPAC/Input/MARC.pm @@ -51,7 +51,9 @@ sub open_db { $log->info("opening MARC database '$arg->{path}'"); my $db = new MARC::Fast( marcdb => $arg->{path}); - my $db_size = $db->count; + my $db_size = $db->count - 1; # FIXME + + $self->{size} = $db_size; return ($db, $db_size); } @@ -71,7 +73,13 @@ sub fetch_rec { my ($db, $mfn) = @_; - return $db->fetch($mfn); + if ($mfn > $self->{size}) { + $self->_get_logger()->warn("seek beyond database size $self->{size} to $mfn"); + } else { + my $row = $db->fetch($mfn); + $row->{'000'}->[0] = $mfn; + return $row; + } } =head1 AUTHOR