Am 2013-09-07 21:46, schrieb Bart: > On 9/7/13, Jürgen Hestermann <juergen.hesterm...@gmx.de> wrote: >> Of course! Why the hell should there be double pathdelims? And why >> (silently) accept them as if they were one? > There should not be, but (history: DOS and) WinApi accept them, so the > are NOT illegal in normal filenames.
In my many decades of MS experience I never have seen double path delimiters anywhere. How do you generate them? I would not know how to do it. And I doubt that all WinAPI function except such (and silently drop one delimiter in the background). >> Illegal characters should be taken just like that: Illegal characters. Why >> should they be accepted/converted? Who adds illegal characters and expects >> them to be silently converted to something legal? Just the opposite. > They ('/','.') are only illegal in the '\\?\ scheme, they are > perfectly legal (but are converted by WinApi) in "normal" filenames. That's not true. An extract from http://msdn.microsoft.com/en-us/library/aa365247.aspx says: Use any character in the current code page for a name, including Unicode characters and characters in the extended character set (128–255), except for the following: ..... The following reserved characters: < (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk) ..... Regarding relative paths: It would be easy to make an exception if the path starts with dots followed by a backslash (on Windows) in which case no '\\?\' prefix would be added. Still for full paths it *should* be added (if it does not yet exist). This way a path would be usable with and without the prefix even if it is longer than MAXPATH. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal