On 5/12/2021 1:28 PM, Elijah Newren via GitGitGadget wrote: > From: Elijah Newren <newren@xxxxxxxxx> > > Many places in the code were doing > while ((d = readdir(dir)) != NULL) { > if (is_dot_or_dotdot(d->d_name)) > continue; > ...process d... > } > Introduce a readdir_skip_dot_and_dotdot() helper to make that a one-liner: > while ((d = readdir_skip_dot_and_dotdot(dir)) != NULL) { > ...process d... > } > > This helper particularly simplifies checks for empty directories. > > Also use this helper in read_cached_dir() so that our statistics are > consistent across platforms. (In other words, read_cached_dir() should > have been using is_dot_or_dotdot() and skipping such entries, but did > not and left it to treat_path() to detect and mark such entries as > path_none.) I like the idea of this helper! > +struct dirent * > +readdir_skip_dot_and_dotdot(DIR *dirp) nit: This seems like an accidental newline between the return type and the method name. Otherwise, patch LGTM. -Stolee