I couldn't figure out how a POSIX filename passed to a Cygwin application 
running on the Windows system may become longer than NAME_MAX=1020 bytes if the 
maximum filename length in NTFS is 255 UTF-16 symbols (i.e. 1020 bytes for the 
biggest 4 byte UTF-8 code unit)? 
What causes the ENAMETOOLONG error? In the most of POSIX functions ENAMETOOLONG 
is returned if the length of a component of a pathname is longer than 
{NAME_MAX} or the length of a pathname exceeds {PATH_MAX}. On NTFS there is no 
files with pathname component longer than 1020 bytes and the length of the full 
pathname is limited by the Unicode API (32767 chars * 4 byte = 128KiB).
-- 


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

Reply via email to