"Bekenn" <leav...@alone.com> wrote in message news:il1h39$19p5$2...@digitalmars.com... > On 3/6/2011 4:11 AM, Lars T. Kyllingstad wrote: >> >> Interestingly, it seems drive names are actually restricted to one >> letter. See the last paragraph of this section: >> >> http://en.wikipedia.org/wiki/Drive_letter#Common_assignments >> >> -Lars > > Correct. However, the rules change for UNC paths: > http://msdn.microsoft.com/en-us/library/aa365247%28v=VS.85%29.aspx
Great link! I can't believe how much is in there that I never even had the slightest clue about. The '//?/' and '//./' are *completely* new to me, and I've been a windows guy since 3.11. I think these parts are particularly relevent to our discussion here: -------------------------------------------------- Do not end a file or directory name with a space or a period. Although the underlying file system may support such names, the Windows shell and user interface does not. However, it is acceptable to specify a period as the first character of a name. For example, ".temp". -------------------------------------------------- This implies three things: 1. The windows shell and UI are shitty 2. The windows filesystem *does* allow files that end in '.' just lke unix, despite the windows shell and UI being too stupid to handle them right. 3. *Even on windows* something that starts with a dot is to be considered a filename, not a nameless file with an extension. -------------------------------------------------- File I/O functions in the Windows API convert "/" to "\" as part of converting the name to an NT-style name, except when using the "\\?\" prefix as detailed in the following sections. -------------------------------------------------- Ie, WinAPI automatically accepts *both* slashes and backslashes as the directory separator. Although lower-level stuff may expect backslashes. -------------------------------------------------- {almost everything else} -------------------------------------------------- Implies: 1. The ANSI/ASCII APIs should just simply *never* be used. 2. Handling all paths properly on windows is a royal fucking PITA.