Mail Archives: cygwin/2004/10/28/14:24:52
Colin JN Breame wrote:
> As I understand, relative paths in windows suffer from a 255 character
> limit (or something like that).
It's not based on relative vs absolute: it's which API you use.
I've quoted a bit from the MSDN documentation (Platform SDK: Storage:
Naming a file). Not being intimate with the cygwin internals, I'm not
sure which of these limits apply, but I suspect the same limits apply as
described below..
* Maximum Path Length
In the Windows API, the maximum length for a path is MAX_PATH, which is
defined as 260 characters. A path is structured as follows: drive
letter, colon, backslash, components separated by backslashes, and a
null-terminating character. For example, the maximum path on the D drive
is D:\<256 chars>NUL.
The Unicode versions of several functions permit a maximum path length
of 32,767 characters, composed of components up to 255 characters in
length. To specify such a path, use the "\\?\" prefix. For example,
"\\?\D:\<path>". To specify such a UNC path, use the "\\?\UNC\" prefix.
For example, "\\?\UNC\<server>\<share>". Note that these prefixes are
not used as part of the path itself. They indicate that the path should
be passed to the system with minimal modification. An implication of
this is that you cannot use forward slashes to represent path separators
or a period to represent the current directory.
When using the API to create a directory, the specified path cannot be
so long that you could not append an 8.3 file name.
Note that the shell and the file system may have different requirements.
It may be possible to create a path with the API that the shell UI
cannot handle.
* Relative Paths
For functions that manipulate files, the file names may be relative to
the current directory. A file name is relative to the current directory
if it does not begin with a disk designator or directory name separator,
such as a backslash (\). If the file name begins with a disk designator,
it is a full path.
--
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/
- Raw text -