diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-01-28 23:29:22 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-01-28 23:29:22 +0100 |
commit | 5b5416aa05b0f66632ded929383c32c0a5aaa375 (patch) | |
tree | eed68143af0c68b57f6dbaeba5780bdfe01923e4 /sys/src/cmd/vnc/devdraw.c | |
parent | 8152e9d075e507d36b6edb48ac1e15082fabeed5 (diff) |
devdraw: simplify drawgen()
Diffstat (limited to 'sys/src/cmd/vnc/devdraw.c')
-rw-r--r-- | sys/src/cmd/vnc/devdraw.c | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/sys/src/cmd/vnc/devdraw.c b/sys/src/cmd/vnc/devdraw.c index e8ec1dddf..07d27c147 100644 --- a/sys/src/cmd/vnc/devdraw.c +++ b/sys/src/cmd/vnc/devdraw.c @@ -237,40 +237,43 @@ drawgen(Chan *c, Dirtab*, int, int s, Dir *dp) * Top level directory contains the name of the device. */ t = QID(c->qid); - if(t == Qtopdir || t == Qwinname){ - if(s == 1 || t == Qwinname){ - mkqid(&q, Qwinname, 0, QTFILE); - devdir(c, q, "winname", 0, eve, 0444, dp); - } - else if(s == 0){ + switch(t){ + case Qtopdir: + if(s == 0){ mkqid(&q, Q2nd, 0, QTDIR); devdir(c, q, "draw", 0, eve, 0555, dp); + return 1; } - else - return -1; - return 1; + if(s == 1){ + case Qwinname: + mkqid(&q, Qwinname, 0, QTFILE); + devdir(c, q, "winname", 0, eve, 0444, dp); + return 1; + } + return -1; } /* * Second level contains "new" plus all the clients. */ - if(t == Q2nd || t == Qnew){ + switch(t){ + case Q2nd: if(s == 0){ + case Qnew: mkqid(&q, Qnew, 0, QTFILE); devdir(c, q, "new", 0, eve, 0666, dp); + return 1; } - else if(s <= sdraw.nclient){ + if(s <= sdraw.nclient){ cl = sdraw.client[s-1]; - if(cl == 0) + if(cl == nil) return 0; sprint(up->genbuf, "%d", cl->clientid); mkqid(&q, (s<<QSHIFT)|Q3rd, 0, QTDIR); devdir(c, q, up->genbuf, 0, eve, 0555, dp); return 1; } - else - return -1; - return 1; + return -1; } /* |