dirent.d_type is not working on Cygwin symbolic links.

waterlan waterlan@xs4all.nl
Sun Jan 29 19:17:00 GMT 2017


Christian Franke schreef op 2017-01-29 12:15:
> 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

In this case I do not agree with this. Cygwin symbolic links are there 
to emulate Linux symlinks. Therefore I expect the same behaviour.

``Cygwin is
* a large collection of GNU and Open Source tools which provide 
functionality similar to a Linux distribution on Windows.''
(https://cygwin.com/)

regards,

-- 
Erwin Waterlander
http://waterlan.home.xs4all.nl/

--
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