diff options
author | rsc <devnull@localhost> | 2005-01-04 21:39:23 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-01-04 21:39:23 +0000 |
commit | 627bae9c76134c3db23162ce718b0c2725d26441 (patch) | |
tree | 7dd1bc33c2c17d9457addd968ce2e268908657a6 /src/cmd/acme/xfid.c | |
parent | f755d504015485c32e893b474ca42493a9f3dd67 (diff) | |
download | plan9port-627bae9c76134c3db23162ce718b0c2725d26441.tar.gz plan9port-627bae9c76134c3db23162ce718b0c2725d26441.tar.bz2 plan9port-627bae9c76134c3db23162ce718b0c2725d26441.zip |
clean up mkfile; fix winctlprint bug reported by peter canning
Diffstat (limited to 'src/cmd/acme/xfid.c')
-rw-r--r-- | src/cmd/acme/xfid.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/cmd/acme/xfid.c b/src/cmd/acme/xfid.c index 5a2723a4..13d72957 100644 --- a/src/cmd/acme/xfid.c +++ b/src/cmd/acme/xfid.c @@ -255,7 +255,7 @@ xfidread(Xfid *x) int n, q; uint off; char *b; - char buf[128]; + char buf[256]; Window *w; q = FILE(x->f->qid); @@ -295,18 +295,22 @@ xfidread(Xfid *x) break; case QWctl: - winctlprint(w, buf, 1); - goto Readbuf; + b = winctlprint(w, buf, 1); + goto Readb; Readbuf: - n = strlen(buf); + b = buf; + Readb: + n = strlen(b); if(off > n) off = n; if(off+x->fcall.count > n) x->fcall.count = n-off; fc.count = x->fcall.count; - fc.data = buf+off; + fc.data = b+off; respond(x, &fc, nil); + if(b != buf) + free(b); break; case QWevent: |