diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0286eaad02..4fedf8344a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,7 @@ +2001-12-06 21:15 GMT+3 Alexander Kresin + * source/rdd/dbfntx/dbfntx1.c + * Bug fixed, reported by Walter Negro + 2001-12-05 21:20 UTC-0500 David G. Holm * source/rtl/seconds.c diff --git a/harbour/source/rdd/dbfntx/dbfntx1.c b/harbour/source/rdd/dbfntx/dbfntx1.c index 83e0fd72e8..4bf442334b 100644 --- a/harbour/source/rdd/dbfntx/dbfntx1.c +++ b/harbour/source/rdd/dbfntx/dbfntx1.c @@ -282,7 +282,7 @@ static int hb_ntxTagFindCurrentKey( LPPAGEINFO pPage, LONG lBlock, LPKEYINFO pKe /* pKey <= p */ { if( ( k == 0 && !lSeek && (ULONG)p->Xtra != pPage->TagParent->Owner->Owner->ulRecNo ) - || ( hb_set.HB_SET_DELETED && ntxIsDeleted( pPage->TagParent->Owner->Owner, p->Xtra ) ) ) + || ( hb_set.HB_SET_DELETED && ntxIsDeleted( pPage->TagParent->Owner->Owner, p->Xtra ) && lSeek ) ) k = 1; if( k <= 0 ) { @@ -2212,9 +2212,12 @@ static ERRCODE ntxSkipRaw( NTXAREAP pArea, LONG lToSkip ) SELF_GOTO( ( AREAP ) pArea, pTag->CurKeyInfo->Xtra ); else { - SUPER_GOBOTTOM( ( AREAP ) pArea ); - SUPER_SKIPRAW( ( AREAP ) pArea, 1 ); + LPNTXINDEX lpCurIndex; + lpCurIndex = pArea->lpCurIndex; + pArea->lpCurIndex = NULL; + SUPER_GOTO( ( AREAP ) pArea, pArea->ulRecCount+1 ); pArea->fEof = pTag->TagEOF = TRUE; + pArea->lpCurIndex = lpCurIndex; } } }