summaryrefslogtreecommitdiff
path: root/sys/src/cmd/plumb/plumber.c
diff options
context:
space:
mode:
authorqwx <qwx@sciops.net>2021-09-10 21:03:47 +0000
committerqwx <qwx@sciops.net>2021-09-10 21:03:47 +0000
commite2796993445b62379e908564e900e6955b30b830 (patch)
treeafebb908130b8490572e0a7a9c8783f2289da153 /sys/src/cmd/plumb/plumber.c
parentd1986d8c0e6369923f2761a7349ecb1ab7c70da8 (diff)
plumber: remove $plumbsrv, add optional srvname, usage check
Plumber both posts a service to /srv and sets a $plumbsrv environment variable. Our libplumb no longer uses $plumbsrv and nothing else does. It's a silly hack; rc doesn't update /env immediately, and scripts, which for instance set up subrios, cannot rely on it to clean up the plumber at the end. Instead, add the option to specify a srvname, actually check for some common errors and print a usage string. Thanks to Ori for input and a preliminary patch.
Diffstat (limited to 'sys/src/cmd/plumb/plumber.c')
-rw-r--r--sys/src/cmd/plumb/plumber.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/src/cmd/plumb/plumber.c b/sys/src/cmd/plumb/plumber.c
index 21cb27cd6..e5f3ddbc0 100644
--- a/sys/src/cmd/plumb/plumber.c
+++ b/sys/src/cmd/plumb/plumber.c
@@ -15,6 +15,7 @@ Ruleset **rules;
int printerrors=1;
jmp_buf parsejmp;
char *lasterror;
+char *srvname;
void
makeports(Ruleset *rules[])
@@ -38,6 +39,13 @@ mainproc(void *v)
}
void
+usage(void)
+{
+ fprint(2, "usage: %s [-p plumbfile] [-s srvname]\n", argv0);
+ exits("usage");
+}
+
+void
threadmain(int argc, char *argv[])
{
char buf[512];
@@ -48,7 +56,13 @@ threadmain(int argc, char *argv[])
ARGBEGIN{
case 'p':
- plumbfile = ARGF();
+ plumbfile = EARGF(usage());
+ break;
+ case 's':
+ srvname = EARGF(usage());
+ break;
+ default:
+ usage();
break;
}ARGEND