diff options
author | 2021-03-21 01:24:35 +0000 | |
---|---|---|
committer | 2021-03-21 01:24:35 +0000 | |
commit | b69b24c57d5aab7ef5280eb5ed573abadf389475 (patch) | |
tree | 90cae9a1e24fe8d46014ea4828f73951cc1b6abd | |
parent | s/struft/struct/; thanks James Hastings (diff) | |
download | wireguard-openbsd-b69b24c57d5aab7ef5280eb5ed573abadf389475.tar.xz wireguard-openbsd-b69b24c57d5aab7ef5280eb5ed573abadf389475.zip |
Add -n (no action) mode, which just parses the program and exits.
ok mpi@ kn@
-rw-r--r-- | usr.sbin/btrace/btrace.8 | 7 | ||||
-rw-r--r-- | usr.sbin/btrace/btrace.c | 14 |
2 files changed, 15 insertions, 6 deletions
diff --git a/usr.sbin/btrace/btrace.8 b/usr.sbin/btrace/btrace.8 index 1a998d3b168..f905fa07edf 100644 --- a/usr.sbin/btrace/btrace.8 +++ b/usr.sbin/btrace/btrace.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: btrace.8,v 1.2 2020/09/11 08:16:15 mpi Exp $ +.\" $OpenBSD: btrace.8,v 1.3 2021/03/21 01:24:35 jmatthew Exp $ .\" .\" Copyright (c) 2019 Martin Pieuchot <mpi@openbsd.org> .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: September 11 2020 $ +.Dd $Mdocdate: March 21 2021 $ .Dt BTRACE 8 .Os .Sh NAME @@ -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 diff --git a/usr.sbin/btrace/btrace.c b/usr.sbin/btrace/btrace.c index 992215f172c..8c9b04ca17f 100644 --- a/usr.sbin/btrace/btrace.c +++ b/usr.sbin/btrace/btrace.c @@ -1,4 +1,4 @@ -/* $OpenBSD: btrace.c,v 1.29 2021/02/08 09:46:45 mpi Exp $ */ +/* $OpenBSD: btrace.c,v 1.30 2021/03/21 01:24:35 jmatthew Exp $ */ /* * Copyright (c) 2019 - 2020 Martin Pieuchot <mpi@openbsd.org> @@ -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); } |