Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!HNYKUN11.BITNET!U211344 From: U211344@HNYKUN11.BITNET (Olaf 'Rhialto' Seibert) Newsgroups: comp.sys.amiga Subject: Re: MSH Message-ID: <9003051059.AA18328@jade.berkeley.edu> Date: 5 Mar 90 10:27:57 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 50 In a previous article I wrote: >I set the fib_DirEntryType to either -1 or +1. According to the >AmigaDOS manual (which I don't have right here), and/or the include >file libraries/dos.h or libraries/dosextens.h, it only matters if the >value is positive or negative. As someone else already mentioned, it >seems that the Commodore versions of DIR and LIST check for specific >values to be present. If so, this is a bug Commodore has to fix (shame >on Commodore for not following their own documentation). As it seems now, there is a bug in the BCPL List and Dir commands, but a different one. According to libraries/dos.h, the member fib_DirEntryType of a struct FileInfoBlock indicates if a Lock refers to a file or to a directory. There is also a member fib_EntryType, but nothing is said about it. (in the hardcopy in the 1.1 RKM/Libraries and Devices). If I look in the 1.1 AmigaDos manual, under Examine and ExNext, there is a reference to some structure member indicating file or directory, but it is unclear which one of the above is meant since the name used seems to be the original BCPL name. To find out which member to use one looks in libraries/dos.h, and indeed all programs that I have seen use fib_DirEntryType. In practice, fib_DirEntryType and fib_EntryType have the same value (with the OFS), as far as I have been able to test. I assume that the BCPL Dir and List commands use the fib_EntryType, which is undocumented, or at best just vaguely referred to by the AmigaDOS manual. So in my opinion the bug is entirely with Commodore, since they produced an unclear AmigaDOS manual, and the disambiguating information in the RKM disambiguates in another direction than they thought. Or something like that. So I thought out a terrible kludge. The info I used to store in fib_EntryType (undocumented, so free for a handler's private use, right?), is now stored in fib_Comment[1]. This is just temporary, because Commodore should fix its List and Dir, since it is too late to change the documentation. And the kludge will break when some program changes the comment in a FileInfoBlock before passing it to ExNext(). When I have collected all comments and fixed 'all' bugs, I will issue patches for the source, and new binaries. Freely_Distributable=Greetings(Not_For_Any_Commercial_Purpose)-> Olaf.Seibert; Astounding News! By Express Via Norfolk! OS+2 is a trademark of The Atlantic Crossed in Three Days! Olaf 'Rhialto' Seibert [E.A. Poe, 1844] U211344@hnykun11.bitnet