Hi, On 2025. 04. 14. 12:16, Sertonix wrote:
GNU grep -r doesn't search in files that are linked to by symlinks. function old new delta file_action_grep 219 228 +9 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 9/0) Total: 9 bytes --- findutils/grep.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/findutils/grep.c b/findutils/grep.c index f6d0a73f4..0bd4898bc 100644 --- a/findutils/grep.c +++ b/findutils/grep.c @@ -666,6 +666,8 @@ static int FAST_FUNC file_action_grep(struct recursive_state *state UNUSED_PARAM * example will return the raw directory contents). */ if (S_ISLNK(statbuf->st_mode)) { struct stat sb; + if (!(option_mask32 & OPT_R))
You mixed it up, -R *does* follow links, -r doesn't (which would be OPT_r here). But the whole patch is not needed anyway, because recursive_action() (which calls file_action_grep()) only follows symlinks if -R is given: [1]
[1] https://git.busybox.net/busybox/tree/findutils/grep.c#n696
+ return 0; if (stat(filename, &sb) != 0) { if (!SUPPRESS_ERR_MSGS) bb_simple_perror_msg(filename);
Bence _______________________________________________ busybox mailing list busybox@busybox.net https://lists.busybox.net/mailman/listinfo/busybox