287{
288 if (psDBF->nCurrentRecord != iRecord)
289 {
291
294
295 nRecordOffset = psDBF->nRecordLength * (
SAOffset)iRecord + psDBF->nHeaderLength;
296
297 if (psDBF->sHooks.FSeek(psDBF->fp, nRecordOffset, SEEK_SET) != 0)
298 {
299 char szMessage[128];
300 sprintf(szMessage, "fseek(%ld) failed on DBF file.\n", (long)nRecordOffset);
301 psDBF->sHooks.Error(szMessage);
303 }
304
305 if (psDBF->sHooks.FRead(psDBF->pszCurrentRecord, psDBF->nRecordLength, 1, psDBF->fp) != 1)
306 {
307 char szMessage[128];
308 sprintf(szMessage, "fread(%d) failed on DBF file.\n", psDBF->nRecordLength);
309 psDBF->sHooks.Error(szMessage);
311 }
312
313 psDBF->nCurrentRecord = iRecord;
314 }
315
317}
static int DBFFlushRecord(DBFHandle psDBF)