Possible bug in std.path?

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Thu May 19 15:13:36 PDT 2016


On 5/18/2016 8:49 PM, Hugo wrote:
> mytest "my dir\"
>
> I should get "OK", but instead I get:
> Error: 'my test"' is not a valid directory path.

Windows command line processing has special handling for " and \. The \ is used 
to escape the next character, which here is a ". You can see the resulting 
argument is [my test"]. Note the quote.


> If the trailing backslash is removed it works as intended, but IMHO
> buildNormalizedPath should have worked.

buildNormalizedPath is passed [my test"]. It cannot possibly do as you suggest.


> In any case, notice the double quote in the output. To me this suggests the
> backslash is acting not as a path terminator but as an escape sequence.

This is happening because of how standard Windows programs deal with " and
\ on the command line.


More information about the Digitalmars-d mailing list