+2007-01-10 Jim Meyering <jim@meyering.net>
+
+ fts.c: a small readability/maintainability improvement
+ * lib/fts.c (fts_read): Make this code slightly more readable and
+ maintainable by hoisting the "sp->fts_cur = p" assignments to
+ immediately follow the statements that set P. Derived from
+ the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
+
2007-01-10 Eric Blake <ebb9@byu.net>
* lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
/* Move to the next node on this level. */
next: tmp = p;
if ((p = p->fts_link) != NULL) {
+ sp->fts_cur = p;
free(tmp);
/*
if (p->fts_level == FTS_ROOTLEVEL) {
if (RESTORE_INITIAL_CWD(sp)) {
SET(FTS_STOP);
- sp->fts_cur = p;
return (NULL);
}
fts_load(sp, p);
*t++ = '/';
memmove(t, p->fts_name, p->fts_namelen + 1);
check_for_dir:
+ sp->fts_cur = p;
if (p->fts_info == FTS_NSOK)
{
if (p->fts_statp->st_size == FTS_STAT_REQUIRED)
fts_assert (p->fts_statp->st_size == FTS_NO_STAT_REQUIRED);
}
- sp->fts_cur = p;
if (p->fts_info == FTS_D)
{
/* Now that P->fts_statp is guaranteed to be valid,
/* Move up to the parent node. */
p = tmp->fts_parent;
+ sp->fts_cur = p;
free(tmp);
if (p->fts_level == FTS_ROOTPARENTLEVEL) {
p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP;
if (p->fts_errno == 0)
LEAVE_DIR (sp, p, "3");
- sp->fts_cur = p;
return ISSET(FTS_STOP) ? NULL : p;
}