Rif. mod. 95/46. Variazione alla TBaseisamfile::next().

E' stato corretto il riposizionamento nel caso si verifichi che
_recno != DB_recno() utilizzando una cisread(_isgteq) anziche' una DB_go().


git-svn-id: svn://10.65.10.50/trunk@2047 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1995-10-30 16:10:19 +00:00
parent e983f63eec
commit 3c54c2ab12

View File

@ -577,7 +577,7 @@ int TBaseisamfile::next(word lockop)
curr().setdirty();
if (_recno != DB_recno(_isamfile->fhnd))
{
_lasterr = DB_go(_isamfile->fhnd, _recno);
_lasterr = cisread(_isamfile, curr(), _isgteq + lockop);
if (_lasterr != NOERR)
{
_lasterr = get_error(_lasterr);
@ -585,8 +585,11 @@ int TBaseisamfile::next(word lockop)
fatal_box("Errore nella next %d : non posso riposizionarmi", _lasterr);
}
}
_lasterr=cisread(_isamfile, curr(), _isnext + lockop);
if (_lasterr != NOERR) _lasterr = get_error(_lasterr);
else
{
_lasterr=cisread(_isamfile, curr(), _isnext + lockop);
if (_lasterr != NOERR) _lasterr = get_error(_lasterr);
}
_recno = _isamfile->RecNo;
return _lasterr;
}