diff options
author | Ori Bernstein <ori@eigenstate.org> | 2020-04-25 10:57:17 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2020-04-25 10:57:17 -0700 |
commit | d52d7bc121c9c761659b6ca3556f360d341ed6c8 (patch) | |
tree | 5b0463739e4ee974f81f24f4cab23596f837c210 /sys/src/cmd/plumb | |
parent | 2de164c51dc3330859c160b80440e1363fb5b566 (diff) |
Backed out changeset 2737b9af622b
not what I wanted to commit.
Diffstat (limited to 'sys/src/cmd/plumb')
-rw-r--r-- | sys/src/cmd/plumb/plumb.c | 88 |
1 files changed, 23 insertions, 65 deletions
diff --git a/sys/src/cmd/plumb/plumb.c b/sys/src/cmd/plumb/plumb.c index 46a57619b..e0cff9127 100644 --- a/sys/src/cmd/plumb/plumb.c +++ b/sys/src/cmd/plumb/plumb.c @@ -35,77 +35,59 @@ gather(void) } } -int -matchmsg(Plumbmsg *m, Plumbmsg *pat) -{ - Plumbattr *a; - char *v; - - if(pat->src && strcmp(m->src, pat->src) != 0) - return 0; - if(pat->dst && strcmp(m->dst, pat->dst) != 0) - return 0; - if(pat->wdir && strcmp(m->wdir, pat->wdir) != 0) - return 0; - if(pat->type && strcmp(m->type, pat->type) != 0) - return 0; - for(a = m->attr; a != nil; a = a->next){ - v = plumblookup(pat->attr, a->name); - if(v != nil && strcmp(a->value, v) != 0) - return 0; - } - return 1; -} - void main(int argc, char *argv[]) { - char buf[1024], *p, *readport; + char buf[1024], *p; int fd, i, input; - Plumbmsg *rmsg; - Plumbattr *a; input = 0; - readport = nil; - m.src = nil; + m.src = "plumb"; m.dst = nil; - m.wdir = nil; + m.wdir = getwd(buf, sizeof buf); m.type = "text"; m.attr = nil; ARGBEGIN{ case 'a': - p = EARGF(usage()); + p = ARGF(); + if(p == nil) + usage(); m.attr = plumbaddattr(m.attr, plumbunpackattr(p)); break; case 'd': - m.dst = EARGF(usage()); + m.dst = ARGF(); + if(m.dst == nil) + usage(); break; case 'i': input++; break; case 't': case 'k': /* for backwards compatibility */ - m.type = EARGF(usage()); + m.type = ARGF(); + if(m.type == nil) + usage(); break; case 'p': - plumbfile = EARGF(usage()); + plumbfile = ARGF(); + if(plumbfile == nil) + usage(); break; case 's': - m.src = EARGF(usage()); + m.src = ARGF(); + if(m.src == nil) + usage(); break; case 'w': - m.wdir = EARGF(usage()); - break; - case 'r': - readport = EARGF(usage()); + m.wdir = ARGF(); + if(m.wdir == nil) + usage(); break; }ARGEND - if((input && argc>0) || (!input && argc<1) && readport == nil) + if((input && argc>0) || (!input && argc<1)) usage(); - if(readport != nil) - fd = plumbopen(readport, OREAD); - else if(plumbfile != nil) + if(plumbfile != nil) fd = open(plumbfile, OWRITE); else fd = plumbopen("send", OWRITE); @@ -113,30 +95,6 @@ main(int argc, char *argv[]) fprint(2, "plumb: can't open plumb file: %r\n"); exits("open"); } - if(readport != nil){ -again: - rmsg = plumbrecv(fd); - if(rmsg == nil){ - fprint(2, "plumb: receive failed: %r\n"); - exits("recv"); - } - print("got message, matching\n"); - if(!matchmsg(rmsg, &m)) - goto again; - print("src %s\n", rmsg->src); - print("dst %s\n", rmsg->dst); - print("wdir %s\n", rmsg->wdir); - print("type %s\n", rmsg->type); - print("data %.*s\n", rmsg->ndata, rmsg->data); - for(a = rmsg->attr; a; a = a->next) - print("attr %s=%s\n", a->name, a->value); - plumbfree(rmsg); - exits(nil); - } - if(m.src == nil) - m.src = "plumb"; - if(m.wdir == nil) - m.wdir = getwd(buf, sizeof buf); if(input){ gather(); if(plumblookup(m.attr, "action") == nil) |