std.path.getName(): Screwy by design?

Nick Sabalausky a at a.a
Tue Mar 1 05:50:29 PST 2011


"Steven Schveighoffer" <schveiguy at yahoo.com> wrote in message 
news:op.vrn2pooteav7ka at steve-laptop...
> On Tue, 01 Mar 2011 08:13:33 -0500, Lars T. Kyllingstad 
> <public at kyllingen.nospamnet> wrote:
>
>> On Tue, 01 Mar 2011 08:02:44 -0500, Steven Schveighoffer wrote:
>>
>>> On Tue, 01 Mar 2011 04:16:36 -0500, Jonathan M Davis
>>> <jmdavisProg at gmx.com> wrote:
>>>
>>>> I can understand if the path stuff
>>>> can't deal with / or \ in file names (that's probably not worth trying
>>>> to get to
>>>> work right), but it _should_ be able to handle directories with dots in
>>>> them and
>>>> files with no extension.
>>>
>>> / and \ are not legal in names on any filesystem that I know of.
>>>
>>> -Steve
>>
>> On a *NIX machine, try
>>
>>   touch "c:\\foo\\bar"
>>
>> You may be surprised. ;)
>
> bleh... that seems useless :)  I purposely checked FAT before posting, 
> because I was sure Unix disallowed backslashes, I wanted to make sure FAT 
> didn't allow slashes.
>
> Holy crap, something that DOS got right and Unix didn't!

Windows also handles files/paths with spaces a hell of a lot better than 
Unix. This, despite the fact that Unix technically allowed them long before 
Windows did. (I don't mean this as OS-bashing.)

>
> From this page: http://en.wikipedia.org/wiki/Filename, it appears that 
> really, the only disallowed character in unix filenames is '/'.  Even '*' 
> is allowed as a filename.  How... horrible.
>

I would actually feel very good to just simply not support such things. If 
some unix user is going to use such awful filenames they can just deal with 
the consequences. (And I'm *rarely* the kind of person to hold such a 
viewpoint on software development matters.)





More information about the Digitalmars-d mailing list