]> git.lizzy.rs Git - plan9front.git/commitdiff
acme/win: fix mistake
authorcinap_lenrek <cinap_lenrek@felloff.net>
Fri, 12 Dec 2014 20:18:31 +0000 (21:18 +0100)
committercinap_lenrek <cinap_lenrek@felloff.net>
Fri, 12 Dec 2014 20:18:31 +0000 (21:18 +0100)
have to save partial reminder before null terminating current
event buffer :)

acme/bin/source/win/fs.c

index bdfe0820424a3967d7aca45b01e6bce33b437f1e..8f1ed7997c38c0479860f3e53fc0c0e559994a6e 100644 (file)
@@ -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;