summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-12-12 21:18:31 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-12-12 21:18:31 +0100
commitf83dab12c69877853a58c2246a4468787ee637f0 (patch)
tree159a076bff8abff6b9f60f97bbed0fdb393ae006
parent6ddbe25d19bfa5a8c305e9e4292fa3ed0d24426a (diff)
downloadplan9front-f83dab12c69877853a58c2246a4468787ee637f0.tar.xz
acme/win: fix mistake
have to save partial reminder before null terminating current event buffer :)
-rw-r--r--acme/bin/source/win/fs.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/acme/bin/source/win/fs.c b/acme/bin/source/win/fs.c
index bdfe08204..8f1ed7997 100644
--- a/acme/bin/source/win/fs.c
+++ b/acme/bin/source/win/fs.c
@@ -94,7 +94,7 @@ fswrite(Req *r)
nb = EVENTSIZE - partial;
/* fill buffer */
- ep = e[n % nelem(e)];
+ ep = e[n++ % nelem(e)];
memmove(ep->b+partial, s, nb);
partial += nb;
s += nb;
@@ -118,19 +118,16 @@ fswrite(Req *r)
ep->nb += wid;
}
+ /* put partial reminder onto next buffer */
+ if(partial > 0)
+ memmove(e[n % nelem(e)]->b, p, partial);
+
/* send buffer when not empty */
if(ep->nb > 0){
ep->b[ep->nb] = '\0';
sendp(win->cevent, ep);
recvp(writechan);
}
- n++;
-
- /* put partial reminder onto next buffer */
- if(partial > 0){
- ep = e[n % nelem(e)];
- memmove(ep->b, p, partial);
- }
}
r->ofcall.count = r->ifcall.count;