Can't call isDir on linux on const object

Spacen via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon May 19 14:29:16 PDT 2014


On Monday, 19 May 2014 at 20:18:40 UTC, Adam D. Ruppe wrote:
> 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.

Thanks Adam. Nice and portable then.


More information about the Digitalmars-d-learn mailing list