On Fri, Mar 19, 2021 at 08:24:12AM -0600, Todd C. Miller wrote:
> On Fri, 19 Mar 2021 13:22:35 +0100, Klemens Nanni wrote:
> 
> > I argue it should be `-n' like all the daemons, e.g. vmd(8) and other
> > parsers such as pfctl(8) do.
> 
> Yes, please.  I was about to make the same point.

Fair enough.  I started with -d because that's what bpftrace has, but
changing to -n for consistency makes sense to me.


Index: btrace.8
===================================================================
RCS file: /cvs/src/usr.sbin/btrace/btrace.8,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 btrace.8
--- btrace.8    11 Sep 2020 08:16:15 -0000      1.2
+++ btrace.8    20 Mar 2021 04:38:55 -0000
@@ -46,6 +46,9 @@ Execute
 .Ar program .
 .It Fl l
 List all available probes.
+.It Fl n
+No action.
+Parse the program and then exit.
 .It Fl p Ar pid
 Enable tracing on the indicated process ID (only one
 .Fl p
Index: btrace.c
===================================================================
RCS file: /cvs/src/usr.sbin/btrace/btrace.c,v
retrieving revision 1.29
diff -u -p -u -p -r1.29 btrace.c
--- btrace.c    8 Feb 2021 09:46:45 -0000       1.29
+++ btrace.c    20 Mar 2021 04:38:56 -0000
@@ -124,7 +124,7 @@ main(int argc, char *argv[])
        int fd = -1, ch, error = 0;
        const char *filename = NULL, *btscript = NULL;
        const char *errstr;
-       int showprobes = 0, tracepid = -1;
+       int showprobes = 0, tracepid = -1, noaction = 0;
 
        setlocale(LC_ALL, "");
 
@@ -133,7 +133,7 @@ main(int argc, char *argv[])
                err(1, "pledge");
 #endif
 
-       while ((ch = getopt(argc, argv, "e:lp:v")) != -1) {
+       while ((ch = getopt(argc, argv, "e:lnp:v")) != -1) {
                switch (ch) {
                case 'e':
                        btscript = optarg;
@@ -141,6 +141,9 @@ main(int argc, char *argv[])
                case 'l':
                        showprobes = 1;
                        break;
+               case 'n':
+                       noaction = 1;
+                       break;
                case 'p':
                        if (tracepid != -1)
                                usage();
@@ -178,6 +181,9 @@ main(int argc, char *argv[])
                        return error;
        }
 
+       if (noaction)
+               return error;
+
        if (showprobes || g_nprobes > 0) {
                fd = open(__PATH_DEVDT, O_RDONLY);
                if (fd == -1)
@@ -201,7 +207,7 @@ main(int argc, char *argv[])
 __dead void
 usage(void)
 {
-       fprintf(stderr, "usage: %s [-lv] [-p pid] [-e program|file]\n",
+       fprintf(stderr, "usage: %s [-lnv] [-p pid] [-e program | file]\n",
            getprogname());
        exit(1);
 }

Reply via email to