On Tuesday 01 February 2011 16:13:25 Vedran Miletić wrote:
Yes, there is a bug when using dots, someone recently triggered it when using versioned names (context-2011.01.18 or something). Not sure if it can be fixed.
A good guide should be the use of POSIX "Fully portable filenames" Lewine, Donald, POSIX Programmer's Guide: Writing Portable UNIX Programs, 1991, O'Reilly & Associates, Inc., Sebastopol, CA, pp. 63-64. Of course, some perfectly acceptable filenames (even for a NTFS filesystem, according to MicroSoft's own standard) wreak havoc for Windows and some Windows applications, as well as for MacOS. See, http://en.wikipedia.org/wiki/Filename Microsoft Windows: Windows kernel forbids the use of characters in range 1-31 (i.e., 0x01-0x1F) and characters " * : < > ? \ / |. Although NTFS allows each path component (directory or filename) to be 255 characters long and paths up to about 32767 characters long, the Windows kernel only supports paths up to 259 characters long if no UNC is used for addressing. Additionally, Windows forbids the use of the MS-DOS device names AUX, CLOCK$, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, CON, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, NUL and PRN, as well as these names with any extension (for example, AUX.txt), except when using Long UNC paths (ex. \\.\C:\nul.txt or \\? \D:\aux\con). (In fact, CLOCK$ may be used if an extension is provided.) These restrictions only apply to Windows - Linux, for example, allows use of " * : <
? \ | even in NTFS.
Alan