aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/acme/xfid.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-01-04 21:39:23 +0000
committerrsc <devnull@localhost>2005-01-04 21:39:23 +0000
commit627bae9c76134c3db23162ce718b0c2725d26441 (patch)
tree7dd1bc33c2c17d9457addd968ce2e268908657a6 /src/cmd/acme/xfid.c
parentf755d504015485c32e893b474ca42493a9f3dd67 (diff)
downloadplan9port-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.c14
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: