jkjl@munnari.oz (John Lim) (10/18/88)
I am the author of a shareware disk cataloguer by the name of d'Librarian. One of my customers has written to me about a problem he has with SUM's Shield INIT. Here's what happens...straight from the Symantec's other product - the LS Debugger. I check for a disk insert event. When one occurs I do a : static HParamBlockRec HPB.volumeParam myHPB.ioNamePtr = ...; myHPB.ioVRefNum = WhichDrive; /* The drive number */ myHPB.ioVolIndex = 0; err = PBHGetVInfo(&myHPB,FALSE); . . Process disk and catalogue it . if (WhichDrive > 0) /* Do not eject if default disk */ PBEject(&myHPB); ^^^^^^^ ^^^^^^^ ^^^^^^^ (triple dose) This PBEject() is a killer. myHPB is corrupted by Shield INIT which must trap/patch some low level global. Why do I put the blame on Shield ? Because the stupid Shield cursor appears, and then the GuardianSavData file gets updated. myHPB.ioNamePtr gets corrupted, and because I use the contents of ioNamePtr my program gets an unwarranted socking. I know INITs are a bloody pain to write (ie. Moire and all the bug reports), but I think it's damn stupid to assume every call to PBEject is by the Operating System. IM 2/4 surely don't say that 'PBEject' is reserved for only SUM and Apple, do they &-( ??? My client, Werner J. Herbrik of West Germany has written to SUM also for help. As a poor shareware author I don't have the resources of SUM. It must be easier for them to earn their reputation for excellent customer support than for me to solve the N-complete problem. I will change that PBEject to Eject(0L,WhichDrive), but I must emphasize that the onus is on SUM to fix their bug. If anyone from SUM is listening, please e-mail me if you have any queries about Werner or the bug. I can send a copy of the cataloguer if you want me to prove it. The version of Shield was the one distributed by Rich a few months ago, and the autovolsave feature was enabled. This bug does not appear under manual autosave. john lim jkjl@munnari.oz.au PS : Someone mentioned that Moire 1.41 crashes with SUM's HD Partition a few days ago. I'm glad to report that Moire 2.2 doesn't, no matter what order the INITs are run in.