🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #30700

GEMDOS bug (attn -- Alex)

#30700
From: JEMCCABE
Date: Thu, 18 Feb 1988 18:04
50 lines
2809 bytes
Date: 18 February 1988, 12:35:09 EST
From: Jim McCabe                                    JEMCCABE at MTUS5
To:   INFO-ATARI16 at SCORE.STANFORD.EDU
Subject: GEMDOS bug (attn -- Alex)

[]

I have found an annoying bug in GEMDOS, and it occurs so frequently
that I'm sure someone out there must know how to avoid it.

In a disk-storage-intensive program I'm working on, it becomes advantageous
to be able to swap disks after loading the program.  (For example, one
might load the program, then insert a data disk...)  I've noticed that
GEMDOS is consistantly unable to read in the new directory tree from the
new disk.  After swapping disks, my application has no trouble locating
files in the root directory, but all attempts to open files that are
in a subdirectory of the new disk fail with an error -33 (file not
found).

I asked this question before, back in October '87.  Mike Fischer
(fischer@yale.arpa) was the only one to respond, and his answer was:

>                                                              One
> fix is to use Fsfirst with a path in the root directory to force
> GEMDOS to access the disk after the swap.  Then you should be able
> to follow that by an Fopen for the file you really wanted.  Note
> however that if you are not specifying the complete pathname (with
> a "^" immediately after the ":"), then you are asking for a file
> relative to the current working directory, which hasn't been resent.
> If this is your problem, then you also need to set the working
> directory after the disk swap.

I tried his advice, and it doesn't work (at least not on _my_ ST).
Here's the order I perform his fix: (psuedocode)

    dsetdrv(0);             { Set current drive to drive A }
    dsetpath('A:^');        { Current working directory = "A:^" }
    fsfirst('A:^*.*', 0);   { Read first file from root directory }
    fopen('A:^MESSAGES.BBS^BOARD30.MSG');  { I know the fopen syntax is
                                             wrong here, but ignore that }

And it still can't find the file!  Can anyone help me, please?!?!?

Thanks!

+-----------------------+--------------------+------------------+
|  Jim McCabe           |       Bitnet       |       UUCP       |
|  G31 ECH MTU          |     ----------     |     --------     |
|  Houghton, MI  49931  |  jemccabe @ mtus5  |  mccabe @ m-net  |
+-----------------------+--------------------+------------------+
Technical Details
Message-ID: <8802190133.AA02942@ucbvax.Berkeley.EDU>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!pasteur!ucbvax!MTUS5.BITNET!JEMCCABE

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!pasteur!ucbvax!MTUS5.BITNET!JEMCCABE
From: JEMCCABE@MTUS5.BITNET
Newsgroups: comp.sys.atari.st
Subject: GEMDOS bug (attn -- Alex)
Message-ID: <8802190133.AA02942@ucbvax.Berkeley.EDU>
Date: 18 Feb 88 18:04:00 GMT
Sender: usenet@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 50