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