Date: Wed, 5 Jan 2000 11:17:47 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: ron flory cc: djgpp AT delorie DOT com Subject: Re: djgpp: gnu make ver 3.77 (long file names in 'include' directive) under NT 4.0 In-Reply-To: <387297B4.4555B526@adtran.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 5 Jan 2000, ron flory wrote: > > You can if you upgrade to Windows 2000 or if you > > get one of those really buggy LFN drivers. > > Are you saying that NT4.0 DosBox API cannot accept a long filename for > input? I thought that only old-old-style MsDos FCB's were limited to > 8.3 format, wheras ascii-z input strings were essentially free-form. Please read section 3.3 of the DJGPP FAQ list, it has the full story. In a nutshell, DOS programs need a special API to access long file names, and NT's DOS box doesn't include that API. > I know that path/file strings -returned- by several calls may be mangled > to the name~1 format, but I thought full-length input strings were > acceptable and automatically converted to the mangled form when the call > was made. Well, you thought wrong. The legacy DOS calls don't know anything about the ~1 numeric tails, they simply truncate the file names to 8+3 limits. And transforming file names which are invalid on DOS, like foo.bar.baz or .foo+bar, involves much more than simply attaching the numeric tail. In sum, you need cooperation of the OS to support long names, and NT doesn't cooperate. However, I disagree with the assessment that the LFN drivers are ``really buggy''. There's a driver written by DJGPP users which looks very promising. You can find its URL in messages posted to this news group a few weeks ago. I suggest to download and try it, perhaps you will find that it solves your problem well enough.