lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LYNX-DEV lynx-386 filename problem


From: Michael Sokolov
Subject: Re: LYNX-DEV lynx-386 filename problem
Date: Mon, 22 Sep 1997 16:15:17 -0400 (EDT)

If you pass DOS a filename with more than one dot, it will return error 2
(normally "file not found", but in this case "invalid filename"). If there is
only one dot or no dot, but the name is longer than 8 chars or the extension
is longer than 3 chars, DOS will silently truncate the offending component. All
of this applies to every component of a pathname, by which I mean a part
bounded by backslashes or forward slashes.
VERY IMPORTANT: The word "DOS" here means the INT 21h API and its
implementation in MSDOS.SYS/IBMBIO.COM, rather than COMMAND.COM or some other
utility. And there are differences between the two, e.g., the DOS kernel
accepts forward slashes as path separators but COMMAND.COM doesn't.
Also if you are using a high-level-language, the fact that INT 21h calls
behave in a certain way doesn't mean that your run-time library functions
behave the same way, they could do something with the pathnames before passing
them to DOS. The compiler I use (Microsoft C v6.00 for MS-DOS and MS OS/2)
doesn't do that, but others might (I have never played with DJGPP).
You can treat my answer as authoritative, since I have 7 years of advanced DOS
programming experience, which includes reverse engineering of Microsoft's code
and study of stolen Microsoft sources.

Sincerely,
Michael Sokolov
;
; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.
;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]