X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=regress%2Fhplayback.c.m4;h=9fd0780071b7057c7a28064189e8917eb44fefd9;hb=fa1b90e57a41a62f53f2b7a99621ae8b1348de77;hp=22e975a6eeb65d5a216746d34ab5d0f971e5e51d;hpb=bbede9a35425c76e4e74cae1a8044e404f83201e;p=adns.git diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index 22e975a..9fd0780 100644 --- a/regress/hplayback.c.m4 +++ b/regress/hplayback.c.m4 @@ -7,7 +7,7 @@ m4_dnl Copyright (C) 1997-2000 Ian Jackson m4_dnl m4_dnl It is part of adns, which is m4_dnl Copyright (C) 1997-2000 Ian Jackson -m4_dnl Copyright (C) 1999 Tony Finch +m4_dnl Copyright (C) 1999-2000 Tony Finch m4_dnl m4_dnl This program is free software; you can redistribute it and/or modify m4_dnl it under the terms of the GNU General Public License as published by @@ -34,6 +34,7 @@ m4_include(hmacros.i4) #include #include #include +#include #include #include @@ -68,7 +69,7 @@ static void Pcheckinput(void) { if (feof(Tinputfile)) Psyntax("eof at syscall reply"); } -static void Tensureinputfile(void) { +void Tensurerecordfile(void) { const char *fdstr; int fd; int chars; @@ -153,9 +154,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++]; @@ -258,7 +261,7 @@ void Q_vb(void) { int r; const char *nl; - Tensureinputfile(); + Tensurerecordfile(); if (!adns__vbuf_ensure(&vb2,vb.used+2)) Tnomem(); r= fread(vb2.buf,1,vb.used+2,Tinputfile); if (feof(Tinputfile)) { @@ -371,4 +374,6 @@ int H$1(hm_args_massage($3,void)) { } ') +m4_define(`hm_specsyscall', `') + m4_include(`hsyscalls.i4')