Re: Version 2.1.70 ms-dos fs strange.

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Sun, 7 Dec 1997 09:51:19 +0100 (MET)


Richard B. Johnson wrote:
>
> [SNIPPED]
>
> But it doesn't happen with *.lib, *.obj, etc. They are all valid
> file-name extensions under MS-DOS as is *.bak. MS-DOS file names can
> be either upper or lower case, although COMMAND.COM maps everything
> to upper case which makes lower-case file names a bit hard to delete.
>
> You can't start a ms-dos file name with 0xe5 (means erased file), and
> you can't have more than "filename.typ" characters. That's all. The
> '.' is never put into the file-name. The above example results in
> FILENAMETYP as a directory entry.

When you say "*.lib" is a valid file-name extension, you mean that
"anything before the . and lib after the dot is a valid filename".

What Bill and I mean when we say that "*.lib" isn't a valid filename
is that "*" doesn't qualify as "anything". Just like you mention, 0xe5
doesn't qualify either.

If you pass an invalid filename to the stat call the call is at
liberty to (*) return you "invalid argument".

Under ext2fs, a "/" in a filename is invalid, but I can't think of
a way of making the filesystem believe that the "/" is in the
filename, and not a directory separator.

MSDOS takes the ad-hoc way of implementing things. So if someone
thinks of "*.obj" as a neato way to specify multiple files, the MSDOS
guys scramble to make "*" an illegal character in filenames, and the
Unix guys make sure that you can escape the "*" to make sure that you
can still use "*" in a filename.

Roger.

(*) come to think about it, it actually SHOULD.

-- 
** R.E.Wolff@BitWizard.nl ** +31-15-2137555 ** http://www.BitWizard.nl/ **
Florida -- A 39 year old construction worker woke up this morning when a
109-car freight train drove over him. According to the police the man was 
drunk. The man himself claims he slipped while walking the dog. 080897