When the list of headers do not fit into the command line, xargs splits
it into several lists and then passes them to grep.  If no headers from
a list match the grep pattern, grep exits with a non-zero code that causes
xargs to exit with a non-zero code, too.

* maint/ioctls_sym.sh: Use find's -exec instead of xargs;
Ignore it's exit code.
---
 maint/ioctls_sym.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/maint/ioctls_sym.sh b/maint/ioctls_sym.sh
index d9551b7..1d50850 100755
--- a/maint/ioctls_sym.sh
+++ b/maint/ioctls_sym.sh
@@ -75,9 +75,10 @@ tmpdir="$(mktemp -dt "$me.XXXXXX")"
 # list interesting files in $inc_dir.
 cd "$inc_dir"
 inc_dir="$(pwd -P)"
-find . -type f -name '*.h' -print0 |
-       xargs -r0 grep -l "$r_value" -- > "$tmpdir"/headers1.list ||
-               exit 0
+find . -type f -name '*.h' -exec grep -l "$r_value" -- '{}' + \
+       > "$tmpdir"/headers1.list ||:
+[ -s "$tmpdir"/headers1.list ] || exit 0
+
 cd - > /dev/null
 sed 's|^\./\(uapi/\)\?||' < "$tmpdir"/headers1.list > "$tmpdir"/headers.list
 LC_COLLATE=C sort -u -o "$tmpdir"/headers.list "$tmpdir"/headers.list

-- 
glebfm

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to