chiark / gitweb /
regress: fuzzraw: implement poll
[adns.git] / regress / hplayback.c.m4
index 4fb12044e73b130d2bda88ce7819b707b0f8ca11..dd98f0ec0b8bf1df4172286ebecfd07232318614 100644 (file)
@@ -257,12 +257,15 @@ static void Ppollfds(struct pollfd *fds, int nfds) {
   if (vb2.buf[vb2.used++] != hm_squote[hm_squote) Psyntax("pollfds start not [");
   for (i=0; i<nfds; i++) {
     Pstring("{fd=","{fd= in pollfds");
-    fds->fd= strtoul(vb2.buf+vb2.used,&ep,10);
+    int gotfd= strtoul(vb2.buf+vb2.used,&ep,10);
+    if (gotfd != fds->fd) Psyntax("poll fds[].fd changed");
     vb2.used= ep - (char*)vb2.buf;    
     Pstring(", events=",", events= in pollfds");
-    fds->events= Ppollfdevents();
+    int gotevents= Ppollfdevents();
+    if (gotevents != fds->events) Psyntax("poll fds[].events changed");
     Pstring(", revents=",", revents= in pollfds");
     fds->revents= Ppollfdevents();
+    if (gotevents) FR_WRITE(fds->revents);
     Pstring("}","} in pollfds");
     Pstring(comma,"separator in pollfds");
     comma= ", ";