delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/08/07/06:11:05

Date: Tue, 7 Aug 2001 11:20:07 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Boris Gaspic <boris DOT gaspic AT am2 DOT ericsson DOT se>
cc: djgpp AT delorie DOT com
Subject: Re: Long file names, djgpp 2.95.3 / WinNT 4.00 NTFS
In-Reply-To: <9kn7ef$j6i$1@newstoo.ericsson.se>
Message-ID: <Pine.SUN.3.91.1010807111944.6564I-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Tue, 7 Aug 2001, Boris Gaspic wrote:

> Reading through the libc docs, it occured me to test
>  a = _get_volume_info ("C:\\", &maxlen, &pathlen, ftype);
> 
> I get ENOSYS for calling that, and lengths 13 & 80.

I understand that this is on NT4.  If so, this is expected: DJGPP
programs cannot access long file names on NT4, so _get_volume_info
tells the truth, as far as DJGPP programs are concerned.

Try this on Windows 9X or Windows 2000, and you will see a different
result.

> I also get ENOSYS for calling it on "K:\\" (which I don't have) --
> and not ENODEV or ENXIO as the docs say.

You misunderstand the docs: if the underlying system call is not
supported, you will _always_ get ENOSYS, because the OS fails the
call.  ENODEV or ENXIO only happen when the system call is supported,
such as on Windows 9X, but the drive letter is invalid.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019