phobo's std.file is completely broke!

Josphe Brigmo JospheBrigmo at gmail.com
Sat Sep 15 12:54:50 UTC 2018


On Saturday, 15 September 2018 at 12:38:41 UTC, Adam D. Ruppe 
wrote:
> On Saturday, 15 September 2018 at 10:57:56 UTC, Josphe Brigmo 
> wrote:
>> Phobos *NEEDS* to be modified to work with these newer OS's.
>
> You need to look at the source code before posting. The code 
> for remove is literally
>
> DeleteFileW(name);
>
> it is a one-line wrapper, and obviously uses the unicode 
> version.
>
> https://github.com/dlang/phobos/blob/master/std/file.d#L1047


It doesn't matter, the fact is that something in phobos is broke. 
Do you really expect me to do all the work? The fact that using 
executeShell or "\\?\" solves 90% of the problems(maybe all of 
them) proves that phobos is not up to par.

It's simple as that.

just because it uses unicode does not mean squat if it doesn't 
work. The docs from microsoft said that the unicode functions are 
suppose to not have the limitation, but that doesn't mean that 
using them is the only fix.

The fact is, I write a directory parser and it failed, then I 
spend the next day trying to get something relatively easy to be 
fixed that should already have been fixed.

I'm also not the only one with the problem.

Maybe you should spend some time on windows and using std.file 
with long paths. I bet you have actually never done it so you are 
obviously to the problems.

There may be "simple" fixes, but the fact is that something is 
wrong or else my code would work(you can blame me all you want 
but the facts are the facts and the code only breaks on long file 
names).

https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#maximum-path-length-limitation

It is a bit more complicated than just saying that phobos is 
doing it's job. Of course, it could be some windows issue but 
given that


https://issues.dlang.org/show_bug.cgi?id=8967

The point is that these things should be thoroughly tested before 
blaming the end user. Whatever is going on, it should. File IO is 
very basic and common and for code to break silently or in ways 
that does not make sense is bad, regardless of if I existed in 
this universe or not.

How hard is it for phobos to detect long files and absolute files 
and such and prepend if necessary?







More information about the Digitalmars-d mailing list