diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-04-04 06:47:26 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-04-04 06:47:26 +0200 |
commit | a74542613df2305bd2fde7485e55fce4fafee0e6 (patch) | |
tree | 8084cb56935f226e017b68d1602ce04c55e68ca7 /sys/src/cmd/rio/xfid.c | |
parent | 84e16f5b5c91048bfc3898654d99fb2bcfa9dfa2 (diff) |
rio: /dev/kbd cleanup
- use free running unsigned indeces for window kbdq
- emalloc() vs malloc() in xfid
Diffstat (limited to 'sys/src/cmd/rio/xfid.c')
-rw-r--r-- | sys/src/cmd/rio/xfid.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/src/cmd/rio/xfid.c b/sys/src/cmd/rio/xfid.c index 879dc01d5..d41ec61e2 100644 --- a/sys/src/cmd/rio/xfid.c +++ b/sys/src/cmd/rio/xfid.c @@ -630,7 +630,7 @@ xfidread(Xfid *x) case Qwctl: if(cnt < 4*12){ filsysrespond(x->fs, x, &fc, Etooshort); - break; + return; } alts[Adata].c = w->wctlread; goto Consmesg; @@ -665,13 +665,13 @@ xfidread(Xfid *x) } c1 = crm.c1; c2 = crm.c2; - t = malloc(cnt+UTFmax+1); /* room to unpack partial rune plus */ + t = emalloc(cnt+UTFmax+1); /* room to unpack partial rune plus */ pair.s = t; pair.ns = cnt; send(c1, &pair); recv(c2, &pair); fc.data = pair.s; - fc.count = pair.ns; + fc.count = min(cnt, pair.ns); filsysrespond(x->fs, x, &fc, nil); free(t); break; |