dirent.d_type is not working on Cygwin symbolic links.

Christian Franke Christian.Franke@t-online.de
Sun Jan 29 11:15:00 GMT 2017


waterlan wrote:
> The dirent.d_type value for Cygwin symbolic links is 0 (DT_UNKNOWN). 
> The value is 10 (DT_LNK) for Windows native symbolic links. I think 
> d_type should be 10 for Cygwin symbolic links too.
>

Sorry, no.

The actual type should only be returned in dirent.d_type if the info is 
available at very low cost. This is not the case for Cygwin symbolic links.

If DT_UNKNOWN is returned, lstat() must be called if type info is required.

Quote from Linux man page readdir(3):
"All applications must properly handle a return of DT_UNKNOWN."
(https://linux.die.net/man/3/readdir)

See also thread starting at:
https://sourceware.org/ml/cygwin-patches/2008-q4/msg00000.html

Regards,
Christian


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list