bit more work since it's not totally complient with ISIS documentation.
git-svn-id: file:///home/dpavlin/svn/Biblio-Isis/trunk@26
4670fa4d-42ec-0310-ab5b-
a66af6943492
# (XRFMFB - 1) * 512 + XRFMFP
# why do i have to do XRFMFP % 1024 ?
# (XRFMFB - 1) * 512 + XRFMFP
# why do i have to do XRFMFP % 1024 ?
- my $blk_off = (($XRFMFB - 1) * 512) + ($XRFMFP % 1024);
+ my $blk_off = (($XRFMFB - 1) * 512) + ($XRFMFP % 512);
print STDERR "## pointer: $pointer XRFMFB: $XRFMFB XRFMFP: $XRFMFP offset: $blk_off\n" if ($self->{'debug'});
print STDERR "## pointer: $pointer XRFMFB: $XRFMFB XRFMFP: $XRFMFP offset: $blk_off\n" if ($self->{'debug'});
print STDERR "## offset for rowid $value is $blk_off (blk $XRFMFB off $XRFMFP)\n" if ($self->{debug});
if ($value!=$mfn) {
print STDERR "## offset for rowid $value is $blk_off (blk $XRFMFB off $XRFMFP)\n" if ($self->{debug});
if ($value!=$mfn) {
- carp "Error: MFN ".$mfn." not found in MST(".$value.")";
- #return;
+ if ($value == 0) {
+ print STDERR "## record $mfn is physically deleted\n" if ($self->{debug});
+ $self->{deleted} = $mfn;
+ return;
+ }
+
+ carp "Error: MFN ".$mfn." not found in MST file, found $value";
+ return;
}
read($self->{'fileMST'}, $buff, 14);
}
read($self->{'fileMST'}, $buff, 14);