[comp.sys.amiga.tech] Believe it or not, I can't figure this out...

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (03/23/88)

[ The "Alpha, Beta, Gamma, Diga" joke wasn't mine, by the way... ]

	I've bumped into a real poser, and it involves the DOS (as all weird
Amiga problems do).

	I have the following code sequence:

--------
savestuff ()
{
	register struct frame	*this;
	long			file, dirlock, olddirlock;
	int			i, here;
	char			filename[32], err[40], *s;

	strcpy (filename, getfile ());

	/*  Check to see if it currently exists  */
	if (dirlock = Lock (filename, ACCESS_READ)) {
		UnLock (dirlock);
		notice (0, "File exists.");
		return;
	}

	/*  Create the file... er.. directory  */
	if (!(dirlock = CreateDir (filename))) {
		notice (0, "Couldn't create file.");
		return;
	}

	/*  Move to the directory just created to contain the stuff  */
	olddirlock = CurrentDir (dirlock);

	/*  Start saving off the data  */
	if (!(file = Open ("blah blah", MODE_NEWFILE))) {
		strcpy (err, "File open failed.");
		notice (0, err);
		goto bombout;
	}
--------

	Now, here's the stumper:  If I enter a filename of the form "foo"
when prompted by the getfile() routine, everything happens correctly:  A
directory is created in the current directory, and the data file is written
inside that directory.

	However, if I give a filename of the form "DEV:foo", it will
correctly create the directory, but the data file is written in the same
place i.e. into DEV:foo.

	What I want to happen in a general sense is to have this:
1> dir opt a
   foo (dir)
	datafile

	What I'm getting (in the second case) is this:
1> dir opt a
   foo (dir)
datafile

	That is, 'datafile' and 'foo' are in the same directory.  I want
'datafile' to be inside the directory 'foo'.

	Any ideas?  Any workarounds?  Any questions?  Any answers?  Any
rags, any bones, any bottles today......

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
 \_ -_		Recumbent Bikes:	      dual ---> !{well,unicom}!ewhac
O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor