diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-12-12 21:18:31 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-12-12 21:18:31 +0100 |
commit | f83dab12c69877853a58c2246a4468787ee637f0 (patch) | |
tree | 159a076bff8abff6b9f60f97bbed0fdb393ae006 | |
parent | 6ddbe25d19bfa5a8c305e9e4292fa3ed0d24426a (diff) | |
download | plan9front-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.c | 13 |
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; |