Johannes Schindelin <Johannes.Schindelin@xxxxxx> 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.