[git commit] tydy up a few uses of recursive_action(), no logic changes

Denys Vlasenko vda.linux at googlemail.com
Thu Oct 1 18:27:28 UTC 2020


commit: https://git.busybox.net/busybox/commit/?id=3c3928fc658bddacd4e540589868bc28a8e4ca0a
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 debianutils/run_parts.c |  8 ++++----
 findutils/grep.c        | 13 +++++++------
 include/libbb.h         |  6 +++---
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/debianutils/run_parts.c b/debianutils/run_parts.c
index c80cc863f..196e0640d 100644
--- a/debianutils/run_parts.c
+++ b/debianutils/run_parts.c
@@ -133,10 +133,10 @@ static int bb_alphasort(const void *p1, const void *p2)
 
 static int FAST_FUNC act(const char *file, struct stat *statbuf, void *args UNUSED_PARAM, int depth)
 {
-	if (depth == 1)
+	if (depth == 0)
 		return TRUE;
 
-	if (depth == 2
+	if (depth == 1
 	 && (  !(statbuf->st_mode & (S_IFREG | S_IFLNK))
 	    || invalid_name(file)
 	    || (!(option_mask32 & OPT_l) && access(file, X_OK) != 0))
@@ -200,8 +200,8 @@ int run_parts_main(int argc UNUSED_PARAM, char **argv)
 			act,            /* file action */
 			act,            /* dir action */
 			NULL,           /* user data */
-			1               /* depth */
-		);
+			0               /* depth */
+	);
 
 	if (!names)
 		return 0;
diff --git a/findutils/grep.c b/findutils/grep.c
index b456ed467..0892a713a 100644
--- a/findutils/grep.c
+++ b/findutils/grep.c
@@ -694,15 +694,16 @@ static int FAST_FUNC file_action_grep(const char *filename,
 static int grep_dir(const char *dir)
 {
 	int matched = 0;
-	recursive_action(dir,
-		/* recurse=yes */ ACTION_RECURSE |
-		/* followLinks=always */ ((option_mask32 & OPT_R) ? ACTION_FOLLOWLINKS : 0) |
-		/* followLinks=command line only */ ACTION_FOLLOWLINKS_L0 |
-		/* depthFirst=yes */ ACTION_DEPTHFIRST,
+	recursive_action(dir, 0
+		| ACTION_RECURSE
+		| ((option_mask32 & OPT_R) ? ACTION_FOLLOWLINKS : 0)
+		| ACTION_FOLLOWLINKS_L0 /* grep -r ... SYMLINK follows it */
+		| ACTION_DEPTHFIRST
+		| 0,
 		/* fileAction= */ file_action_grep,
 		/* dirAction= */ NULL,
 		/* userData= */ &matched,
-		/* depth= */ 0);
+		0);
 	return matched;
 }
 
diff --git a/include/libbb.h b/include/libbb.h
index 3e23b5bbd..8b84d13a0 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -437,15 +437,15 @@ enum {
 	ACTION_FOLLOWLINKS    = (1 << 1),
 	ACTION_FOLLOWLINKS_L0 = (1 << 2),
 	ACTION_DEPTHFIRST     = (1 << 3),
-	/*ACTION_REVERSE      = (1 << 4), - unused */
-	ACTION_QUIET          = (1 << 5),
-	ACTION_DANGLING_OK    = (1 << 6),
+	ACTION_QUIET          = (1 << 4),
+	ACTION_DANGLING_OK    = (1 << 5),
 };
 typedef uint8_t recurse_flags_t;
 extern int recursive_action(const char *fileName, unsigned flags,
 	int FAST_FUNC (*fileAction)(const char *fileName, struct stat* statbuf, void* userData, int depth),
 	int FAST_FUNC (*dirAction)(const char *fileName, struct stat* statbuf, void* userData, int depth),
 	void* userData, unsigned depth) FAST_FUNC;
+
 extern int device_open(const char *device, int mode) FAST_FUNC;
 enum { GETPTY_BUFSIZE = 16 }; /* more than enough for "/dev/ttyXXX" */
 extern int xgetpty(char *line) FAST_FUNC;


More information about the busybox-cvs mailing list