tsend nul with choice - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit b7edc22192e7ae88584a14e8878fef9248d2b8a4
DIR parent 5fc55a953e9dcd895d9be01c528f329e8dfc685e
HTML Author: rsc <devnull@localhost>
Date: Tue, 8 Feb 2005 20:35:31 +0000
send nul with choice
Diffstat:
M src/cmd/factotum/p9any.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
---
DIR diff --git a/src/cmd/factotum/p9any.c b/src/cmd/factotum/p9any.c
t@@ -35,7 +35,7 @@ hasnul(void *v, int n)
if(n > 0 && c[n-1] == '\0')
return n;
else
- return n+1;
+ return AuthRpcMax;
}
static int
t@@ -220,10 +220,14 @@ found:
/* f[i] is the chosen protocol, q the chosen domain */
attr = addattr(attr, "proto=%q dom=%q", f[i], q);
c->state = "write choice";
+
/* have a key: go for it */
- if(convprint(c, "%q %q", f[i], q) < 0
- || convwrite(c, "\0", 1) < 0)
+ s = estrappend(nil, "%q %q", f[i], q);
+ if(convwrite(c, s, strlen(s)+1) < 0){
+ free(s);
goto out;
+ }
+ free(s);
if(version == 2){
c->state = "read ok";