Can't call isDir on linux on const object

Adam D. Ruppe via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon May 19 13:18:39 PDT 2014


On Monday, 19 May 2014 at 20:11:45 UTC, Spacen wrote:
> The same code works on windows DMD 1.65. But on linux:

It's because of caching. isDir on Linux calls a function with 
this comment:

         /++
             This is to support lazy evaluation, because doing 
stat's is
             expensive and not always needed.

             Try both stat and lstat for isFile and isDir
             to detect broken symlinks.
          +/
         void _ensureStatOrLStatDone()


Simple solution is to just take a plain DirEntry instead of "in 
DirEntry" so it isn't const.


More information about the Digitalmars-d-learn mailing list