I've committed a large amount of changes to the viewer code to fix NVFS
crashes (e.g., #1511, perhaps) and adhere to the White Paper
restrictions on use of DmQueryRecord(). It is crucial that future code
accessing DB records adhere to what I wrote in a comment at the
beginning of ramfile.c. This is really all quite essential, since most
future devices can be expected to have NVFS.
The pain of it all is that it is necessary to close records after
opening them. To make it easier, I wrote code to keep track of opened
records, allow nesting of openings/closings, and to close any opened
records when a database is closed. Please bang hard on the new code, to
make sure it all works on your OS 3.x-4.x devices, pre-NVFS OS 5
devices, and NVFS OS 5 devices. You might want to #define DEBUG_RECORDS
in ramfile.c to get more stringent error checking (over/underopened
records will then cause crashes, rather than being swept under the carpet).
The new code should be almost as fast as the old, though I could be
wrong. I stuck to using DmQueryRecord() in two speed-sensitive places,
hopefully in a way that won't cause NVFS trouble (it does work on my T5).
Thank you for your testing!
Alex
_______________________________________________
plucker-dev mailing list
plucker-dev@rubberchicken.org
http://lists.rubberchicken.org/mailman/listinfo/plucker-dev