phobo's std.file is completely broke!
Vladimir Panteleev
thecybershadow.lists at gmail.com
Sat Sep 15 10:40:33 UTC 2018
On Saturday, 15 September 2018 at 10:05:26 UTC, Josphe Brigmo
wrote:
> Yes, I did that and it worked for some(most) things it seems
> but rmdir, for example, seems to fail.
If the file path is passed verbatim to the OS API, and it still
doesn't work, then the problem is with the OS or the API, not D.
> Also, windows 10 does not have this problem
What do you mean by "windows 10"? Do you mean Explorer, the
default file manager?
Some reasons why it might work whereas the API doesn't:
- It's using workarounds, like the \\?\ prefix, or
moving/renaming the object to a shorter name before deleting it.
- It's using a newer API, like WinRT (introduced in Windows 8).
- It's using a secret Microsoft API.
> If it did I wouldn't have had this problem and wasted a day of
> my life trying to figure out what is going on(I didn't design
> my program around having to hack such things, I just assumed
> they would work, because, after all, they should, right?).
I, too, spent a LOT of time fighting the Windows filesystem APIs.
See e.g. *
https://dump.thecybershadow.net/d78d9911adc16ec749914b6923759454/longpathdelete.d (that also sets ownership/ACLs via external processes, as the C API is unreasonably complicated).
The problem is 100% due to Windows.
It was one of the big reasons why I moved to Linux for software
development. Such problems do not exist there.
More information about the Digitalmars-d
mailing list