http://d.puremagic.com/issues/show_bug.cgi?id=8967
Summary: dirEntries throws when encountering a "long path" on windows Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: re...@netmail.co.nz --- Comment #0 from Regan Heath <re...@netmail.co.nz> 2012-11-06 09:56:10 PST --- Exception thrown: Bypasses std.file.FileException@std\file.d(2434) === Bypassed === std.file.FileException@std\file.d(2434): E:\basic\2012-10-16_0\abcdefghi1abcdefghi2abcdefghi3abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefg hi0\abcdefghi1abcdefghi2abcdefghi3abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0\abcdefghi1abcdefghi2abcdefghi3abcdefghi4abcdefghi5abcde fghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0: The system cannot find the path specified. The solution is simple/trivial. FindFirstFileW will handle "long paths" in the following format: \\?\<path> where <path> may be C:\folder\... or \\host\share\... So, the simplest fix is to alter DirIteratorImpl.stepIn, line: string search_pattern = buildPath(directory, "*.*"); to read: string search_pattern = r"\\?\" ~ buildPath(directory, "*.*"); (I have tried/tested this fix and it works for me) Alternately (better) have buildPath (on windows) detect paths longer than 256 characters and automatically pre-pend \\?\ itself. This should work ok as long as W functions are used, but will cause issues when some A functions, and other windows functions are used as long paths are not supported throughout. But, in those cases a too long short path would error - just in a different way. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------