Hey,

A statement in the find(1) man page and a source comment in find.c are
outdated and incorrect.

The man page didn't mention that using -delete or -execdir prevents
-print from being assumed.

Similarly for a comment in find.c, but this didn't mention -delete,
-execdir, -ls or -print0.

(These primaries can be tested and/or you can see where isoutput is set
to 1 in function.c.)

I have a patch below to correct these.

Cheers,
Kris Katterjohn

Index: find.1
===================================================================
RCS file: /cvs/src/usr.bin/find/find.1,v
retrieving revision 1.93
diff -u -p -r1.93 find.1
--- find.1      3 Jan 2017 22:19:31 -0000       1.93
+++ find.1      30 Jul 2018 21:28:36 -0000
@@ -60,7 +60,9 @@ In the absence of an expression,
 is assumed.
 If an expression is given,
 but none of the primaries
+.Ic -delete ,
 .Ic -exec ,
+.Ic -execdir ,
 .Ic -ls ,
 .Ic -ok ,
 .Ic -print ,
Index: find.c
===================================================================
RCS file: /cvs/src/usr.bin/find/find.c,v
retrieving revision 1.22
diff -u -p -r1.22 find.c
--- find.c      4 Jan 2017 09:21:26 -0000       1.22
+++ find.c      30 Jul 2018 21:28:36 -0000
@@ -86,9 +86,10 @@ find_formplan(char **argv)
        }
     
        /*
-        * if the user didn't specify one of -print, -ok or -exec, then -print
-        * is assumed so we bracket the current expression with parens, if
-        * necessary, and add a -print node on the end.
+        * if the user didn't specify one of -delete, -exec, -execdir,
+        * -ls, -ok, -print or -print0, then -print is assumed so we
+        * bracket the current expression with parens, if necessary,
+        * and add a -print node on the end.
         */
        if (!isoutput) {
                if (plan == NULL) {

Reply via email to