Xref: utzoo comp.sys.mac:21737 comp.sys.mac.programmer:2830 Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!ll-xn!ames!ncar!boulder!sunybcs!bingvaxu!leah!itsgw!steinmetz!uunet!munnari!jkjl From: jkjl@munnari.oz (John Lim) Newsgroups: comp.sys.mac,comp.sys.mac.programmer Subject: dLibrarian and Shield INIT bugs Keywords: SUM, Shield, dLibrarian, INIT Message-ID: <2506@munnari.oz> Date: 18 Oct 88 16:06:58 GMT Organization: Comp Sci, Melbourne Uni, Australia Lines: 56 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.