isrecnum bug in C-ISAM
Posted in 1992
There is some code which I have been working on which needs to know actual record numbers for records being accessed with C-ISAM. (We are using version 4.00.UE1 running on a Xenix system.) The manual clearly states that reading records with ISSKIPLOCK will set the currect record pointer to the record read and set isrecnum to the value appropriate to this record. If the record concerned is not locked by another user at the time, or for _some_ types of isread() (eg. ISSTART) then things always work correctly (as far as I can tell). However, reading previous or next (ISPREV or ISNEXT) when the next or previous record respectively is locked at the time by another user causes the appropriate record _data_ to be returned but isrecnum is _unchanged_!!! In other words, there is absolutely no way to _reliably_ tell what record C-ISAM has returned to you! Can anyone tell me how to get a fix to this, as it is holding up quite a bit of software testing and implementation? Any comments much appreciated. -- _--_|\\ Craig Macbride <lhscmc@luxor.latrobe.edu.au> / \\ <s900387@minyos.xx.rmit.oz.au> \\_.--.*/ v