Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!cbmvax!daveh From: daveh@cbmvax.cbm.UUCP (Dave Haynie) Newsgroups: net.micro.amiga Subject: Re: AmigaDOS problem Message-ID: <644@cbmvax.cbmvax.cbm.UUCP> Date: Mon, 18-Aug-86 13:14:29 EDT Article-I.D.: cbmvax.644 Posted: Mon Aug 18 13:14:29 1986 Date-Received: Tue, 19-Aug-86 07:50:04 EDT References: <1646@well.UUCP> Organization: Commodore Technology, West Chester, PA Lines: 68 > > > AMIGADOG PROBLEM > ---------------- > > > I am trying to whip up a simple directory display program and want to > be able to detect when the last file has been displayed. According > to the manual which is INCORRECT and INACCURATE (Thank you, MetaCompco, > take a bow), I quote from page 2-5 of the developers DOS (dog?) > manual: > > > "ExNext gives a return code of zero if it fails for some reason. One > reason for failure is reaching the last entry of the directory. However, > IoErr() holds a code that may give more information on the exact cause of > a failure. WHEN ExNext FINISHES AFTER THE LAST ENTRY, IT RETURNS: > ERROR_NO_MORE_ENTRIES (232)". > > FLAME ON: > > BULL BULL AND MORE BULL PILED HIGHER AND > DEEPER!! > > Nothing can be further from the truth. After EACH AND EVERY ExNext call > I get the ERROR_NO_MORE_ENTRIES returned values. > > FLAME OFF: > > If anyone from Amiga cares to comment on this, I would appreciate an > answer. This is not only MY problem, but a dozen other programmers from > the Programmers Net also would like the answers. > > I'm not from Amiga, but I wrote a program for the Amiga, called LD (List Directory) many, many moons ago that used ExNext() and several other AmigaDOS calls without any problems at all. This program was simply a cheap demo, not intended to do anything real significant other than demonstrate AmigaDOS calls (I actually wrote it in an attempt to create a faster DIR command, prior to my knowlege that that's impossible with the 1.1 disk block allocation routines). This was on one of the early Fred Fish disks, I don't recall which one. Now for the BAD NEWS. I heard last week that this program won't run under 1.2 for some reason. If you're using 1.2, you may have hit the bug that's causing LD (and about 4 descendents of LD written by other folks) to die. I'm planning to dig out the source for LD and look at it myself, and I may pass it onto the Amiga folks here if it proves to contain bugs I can't figure out. If you are using 1.1 instead, all I can say is check out the LD program and see what you're doing differently. I'm not sure if its doing all the checks that the Developer's Manual prescribes, only that under 1.1 it DOES work fine. The LD name come from the command of the same name on the Apollo computer's UN*X-like operating system Aegis. It has nothing to do with the UN*X linker called LD; several UN*X folks flamed me on this when I first posted the program last winter. -- /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ Dave Haynie {caip,ihnp4,allegra,seismo}!cbmvax!daveh "I gained nothing at all from Supreme Enlightenment, and for that very reason it is called Supreme Enlightenment." -Gotama Buddha These opinions are my own, though for a small fee they be yours too. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/