summaryrefslogtreecommitdiff
path: root/sys/src/games
diff options
context:
space:
mode:
authorqwx <qwx@sciops.net>2023-01-15 20:23:42 +0000
committerqwx <qwx@sciops.net>2023-01-15 20:23:42 +0000
commitc1afd1158c54e93890168c7af3174ec1ac0914b8 (patch)
tree3d92c30e543839c82a7a4869eb3be4bdfb8d4c89 /sys/src/games
parentf00fb547730cb40e6d3fdf9e660409ae6cb904af (diff)
games/dmid: properly skip delay field from stream
Diffstat (limited to 'sys/src/games')
-rw-r--r--sys/src/games/dmid.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/src/games/dmid.c b/sys/src/games/dmid.c
index c9efa7ae6..3168fafe5 100644
--- a/sys/src/games/dmid.c
+++ b/sys/src/games/dmid.c
@@ -397,7 +397,7 @@ ev(Trk *x)
dprint(" [%zd] ", x - tr);
e = get8(x);
- if((e & 0x80) == 0){
+ if(!stream && (e & 0x80) == 0){
x->p--;
e = x->ev;
if((e & 0x80) == 0)
@@ -580,13 +580,12 @@ threadmain(int argc, char **argv)
if(stream){
if(proccreate(tproc, nil, mainstacksize) < 0)
sysfatal("proccreate: %r");
- xs.p = u;
- xs.e = u + sizeof u;
for(;;){
if((n = Bread(ib, u, sizeof u)) != sizeof u)
break;
- u[0] = 0;
xs.p = u;
+ xs.e = u + n;
+ getvar(&xs);
ev(&xs);
}
threadexitsall(n < 0 ? "read: %r" : nil);