chiark / gitweb /
Understand empty fd sets properly !
authorian <ian>
Sat, 16 Sep 2000 19:10:46 +0000 (19:10 +0000)
committerian <ian>
Sat, 16 Sep 2000 19:10:46 +0000 (19:10 +0000)
regress/hplayback.c.m4

index a3c2d8bdd0f9c0e077e5b801b5a31cc15cb5509f..39f409c0bc6ac50d7323a2cddaf144333ae1ae2e 100644 (file)
@@ -153,9 +153,11 @@ static void Pfdset(fd_set *set, int max) {
   
   if (vb2.buf[vb2.used++] != hm_squote[hm_squote) Psyntax("fd set start not [");
   FD_ZERO(set);
+  if (vb2.buf[vb2.used] == hm_squote]hm_squote) { vb2.used++; return; }
   for (;;) {
     r= strtoul(vb2.buf+vb2.used,&ep,10);
     if (r>=max) Psyntax("fd set member > max");
+    if (ep == (char*)vb2.buf+vb2.used) Psyntax("empty entry in fd set");
     FD_SET(r,set);
     vb2.used= ep - (char*)vb2.buf;
     c= vb2.buf[vb2.used++];