[Issue 17329] File.remove() has problems with long filenames (>128 bytes)
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Mon Apr 17 05:54:59 PDT 2017
https://issues.dlang.org/show_bug.cgi?id=17329
b2.temp at gmx.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |b2.temp at gmx.com
--- Comment #1 from b2.temp at gmx.com ---
(In reply to Rainer Koschnick from comment #0)
> This is a rather weird issue that only pops up in a release build:
>
> std.file.FileException at D:\Dlang\dmd2\windows\bin\..\..\src\phobos\std\file.
> d(733):
> 12345678901234567890123456789012345678901234567890123456789012345678901234567
> 89012345678901234567890123456789012345678901234.cbr: The system cannot find
> the file specified.
>
> Filenames up to 128 bytes work fine, anything above it throws this exception.
>
> Building in Visual Studio 2017, output is MS-COFF. The debug build works
> fine.
Try
void removeFileEx(string filename)
{
import std.file : remove;
return remove("\\?\" ~ filename);
}
Adding the prefix turns the filename into a fully qualified name and should
have for effect to remove the MAX_PATH (260 chars) limitation.
--
More information about the Digitalmars-d-bugs
mailing list