X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/fc938da641728e9730c30ffd2a52876df75eb5ee..2ccd8a1d12b29b9942b8db2e7d528a2dae0e6fc2:/regress/hplayback.c.m4 diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index bb36528..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 @@ -27,13 +27,17 @@ m4_include(hmacros.i4) #include #include -#include #include #include +#include #include #include #include +#include + +#include +#include #include "harness.h" @@ -65,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; @@ -150,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++]; @@ -255,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)) { @@ -368,4 +374,6 @@ int H$1(hm_args_massage($3,void)) { } ') +m4_define(`hm_specsyscall', `') + m4_include(`hsyscalls.i4')