changeset 7853:9ddbddb3fc43

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.
author Jim Meyering <jim@meyering.net>
date Wed, 10 Jan 2007 17:25:09 +0000
parents 72bd6a3bf181
children 06a39aa1ac48
files ChangeLog lib/fts.c
diffstat 2 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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
--- a/lib/fts.c
+++ b/lib/fts.c
@@ -698,6 +698,7 @@
 	/* Move to the next node on this level. */
 next:	tmp = p;
 	if ((p = p->fts_link) != NULL) {
+		sp->fts_cur = p;
 		free(tmp);
 
 		/*
@@ -708,7 +709,6 @@
 		if (p->fts_level == FTS_ROOTLEVEL) {
 			if (RESTORE_INITIAL_CWD(sp)) {
 				SET(FTS_STOP);
-				sp->fts_cur = p;
 				return (NULL);
 			}
 			fts_load(sp, p);
@@ -738,6 +738,7 @@
 		*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)
@@ -746,7 +747,6 @@
 		      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,
@@ -766,6 +766,7 @@
 
 	/* Move up to the parent node. */
 	p = tmp->fts_parent;
+	sp->fts_cur = p;
 	free(tmp);
 
 	if (p->fts_level == FTS_ROOTPARENTLEVEL) {
@@ -811,7 +812,6 @@
 	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;
 }