int PX_put_recordn(pxdoc_t *pxdoc, char *data, int recpos)
Stores a record in the buffer data into a Paradox file at the given position recpos. The first position has number 0. The function will determine the data block for this record. If the position is after the last data block, then as many as needed empty data blocks will be added. If the position is in the middle of a data block and there is no record right before the position, then the position will be recalculated to make sure the new record will be stored in the first free slot of the datablock. For example, if a datablock contains H records and the first call of PX_put_recordn wants to store a record at position 11, then this will be corrected to position H. PX_put_recordn will also add an empty data block and store the record as the first record of the second data block. Storing a second record at position 11 again, will be executed without any position change.
data must be constructed with PX_put_data_xxx(3) functions before. It is of the same structure as the record returned by PX_get_record(3) and PX_get_record2(3).
Returns the record position on success and -1 on failure. The first position has number 0.
This manual page was written by Uwe Steinmann [email protected].