Waldeck Schutzer wrote:
Hi Eric,the code in cdrom.diff is still wrong. you cannot use the dev variable in most of the inner functions as an index in the cdrom_cache array.
I followed your suggestions which greatly simplified the code. Thank you. Now, since we are using the fixed-size windows TOC, memory allocation is no longer an issue. Some of the sanity checks over dev were removed. I also made an attemt at making the code more portable and also fixed the BSD code. However, I couldn't find a seek function in the BSD cd driver, so I used the play function instead. Is there a BSD expert out there who could check this out? On the mcicda side, I factored out that piece of code you suggested but because my box is presently busy on a week-long calculation I couldn't run any tests on Windows.
the index you need is in fact the low word of client-id in CDROM_DeviceIoControl
I'd suggest that you change CDROM_Open to return a pointer to the relevant cdrom_cache structure instead of dev
mcicda.diff looks better now
A+
--
Eric Pouech