| Index: base/file_path.h
|
| ===================================================================
|
| --- base/file_path.h (revision 28932)
|
| +++ base/file_path.h (working copy)
|
| @@ -20,6 +20,8 @@
|
| // Linux does not specify an encoding, but in practice, the locale's
|
| // character set may be used.
|
| //
|
| +// For more arcane bits of path trivia, see below.
|
| +//
|
| // FilePath objects are intended to be used anywhere paths are. An
|
| // application may pass FilePath objects around internally, masking the
|
| // underlying differences between systems, only differing in implementation
|
| @@ -68,6 +70,32 @@
|
| // RTL UI.
|
| //
|
| // This is a very common source of bugs, please try to keep this in mind.
|
| +//
|
| +// ARCANE BITS OF PATH TRIVIA
|
| +//
|
| +// - A double leading slash is actually part of the POSIX standard. Systems
|
| +// are allowed to treat // as an alternate root, as Windows does for UNC
|
| +// (network share) paths. Most POSIX systems don't do anything special
|
| +// with two leading slashes, but FilePath handles this case properly
|
| +// in case it ever comes across such a system. FilePath needs this support
|
| +// for Windows UNC paths, anyway.
|
| +// References:
|
| +// The Open Group Base Specifications Issue 7, sections 3.266 ("Pathname")
|
| +// and 4.12 ("Pathname Resolution"), available at:
|
| +// http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_266
|
| +// http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_12
|
| +//
|
| +// - Windows treats c:\\ the same way it treats \\. This was intended to
|
| +// allow older applications that require drive letters to support UNC paths
|
| +// like \\server\share\path, by permitting c:\\server\share\path as an
|
| +// equivalent. Since the OS treats these paths specially, FilePath needs
|
| +// to do the same. Since Windows can use either / or \ as the separator,
|
| +// FilePath treats c://, c:\\, //, and \\ all equivalently.
|
| +// Reference:
|
| +// The Old New Thing, "Why is a drive letter permitted in front of UNC
|
| +// paths (sometimes)?", available at:
|
| +// http://blogs.msdn.com/oldnewthing/archive/2005/11/22/495740.aspx
|
| +
|
| #ifndef BASE_FILE_PATH_H_
|
| #define BASE_FILE_PATH_H_
|
|
|
|
|