From: Junio C Hamano Date: Wed, 26 Jun 2019 18:04:55 GMT Subject: Re: [GSoC][PATCH v7 06/10] dir-iterator: add flags parameter to dir_iterator_begin Message-ID: In-Reply-To: Johannes Schindelin writes: > Hi Matheus, > > On Tue, 18 Jun 2019, Matheus Tavares wrote: > >>[...] >> +/* >> + * Look for a recursive symlink at iter->base.path pointing to any directory on >> + * the previous stack levels. If it is found, return 1. If not, return 0. >> + */ >> +static int find_recursive_symlinks(struct dir_iterator_int *iter) >> +{ >> + int i; >> + >> + if (!(iter->flags & DIR_ITERATOR_FOLLOW_SYMLINKS) || >> + !S_ISDIR(iter->base.st.st_mode)) >> + return 0; >> >> + for (i = 0; i < iter->levels_nr; ++i) >> + if (iter->base.st.st_ino == iter->levels[i].ino) > > This does not work on Windows. [[ Windows port does not have > usable st_ino field ]]] And if you cross mountpoint, st_ino alone does not guarantee uniqueness; you'd need to combine it with st_dev, I would think, even on POSIX systems.