Another long pathname question

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Feb 26 09:20:00 GMT 2009


On Feb 25 18:58, Greg Freemyer wrote:
> I just read the release email for 1.7.0
> 
> In part it says:
> 
> - Fallout from the long path names: If the current working directory is
>   longer than 260 bytes, or if the current working directory is a virtual
>   path (like /proc, /cygdrive, //server), don't call native Win32 programs
>   since they don't understand these paths.
> 
> I've done a fair amount of long path name testing in Vista / Win2008,
> and I'd like to understand the above in more detail.

It's a restriction of Win32 processes.  The CWD is stored in the PEB
(process environment block) of every process.  It's stored as path as
well as as handle.  Unfortunately the CWD in the PEB is a static storage
area of 520 bytes == 260 (MAX_PATH) wide characters.  That's why no
Win32 process can have a long path as CWD.  See also
http://msdn.microsoft.com/en-us/library/aa365530(VS.85).aspx


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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



More information about the Cygwin mailing list