This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: scandirat return dirents of parent dir

On Jul  4 19:09, comic fans wrote:
> Hello:
>      I've found this problem when compile
> casync( in cygwin,workflow to
> trigger this :
>     rootfd=open(".",O_CLOEXEC|O_RDONLY|O_NOCTTY);
>     scandirat(rootfd,".", firstLevelDirEnts......);
>     foreach dirent in firstLevelDirEnts:
>          if dirent is dir:
>              subdirfd=openat(rootfd,
>                   dirent->d_name,O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
>              scandirat(subdirfd,".",  secondLevelDirEnts......);
>      at this time, secondLevelDirEnts should be files in subdir, but
> in cygwin, secondLevelDirEnts is just same as firstLevelDirEnts.
>       This problem didn't happen in linux , nor win10 WSL,  but
> happens in both cygwin/msys2.

First I thought you stumbled over the problem that the first two entries
returned by scandirat are "." and "..", but on closer investigation I
saw the problem.

I pushed a fix to the git repo and uploaded new developer snapshots
to  Please try.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: signature.asc
Description: PGP signature

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]