X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=regress%2Fhplayback.c.m4;h=39f409c0bc6ac50d7323a2cddaf144333ae1ae2e;hb=f9476535903f0225fba0733203580c88b30ad6a1;hp=01e60db9373cd42550a3648a4c73baad4e494cb8;hpb=4fad263db72b6e675e82c84b56d81333240a7475;p=adns.git diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index 01e60db..39f409c 100644 --- a/regress/hplayback.c.m4 +++ b/regress/hplayback.c.m4 @@ -3,10 +3,10 @@ m4_dnl (part of complex test harness, not of the library) m4_dnl - playback routines m4_dnl This file is -m4_dnl Copyright (C) 1997-1999 Ian Jackson +m4_dnl Copyright (C) 1997-2000 Ian Jackson m4_dnl m4_dnl It is part of adns, which is -m4_dnl Copyright (C) 1997-1999 Ian Jackson +m4_dnl Copyright (C) 1997-2000 Ian Jackson m4_dnl Copyright (C) 1999 Tony Finch m4_dnl m4_dnl This program is free software; you can redistribute it and/or modify @@ -27,14 +27,17 @@ m4_include(hmacros.i4) #include #include -#include #include #include +#include #include #include #include +#include +#include + #include "harness.h" static FILE *Tinputfile, *Treportfile; @@ -150,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++]; @@ -253,6 +258,7 @@ static int Pbytes(byte *buf, int maxlen) { void Q_vb(void) { int r; + const char *nl; Tensureinputfile(); if (!adns__vbuf_ensure(&vb2,vb.used+2)) Tnomem(); @@ -272,6 +278,9 @@ void Q_vb(void) { vb.used,vb.buf, vb.used,vb2.buf+1); exit(1); } + Tensurereportfile(); + nl= memchr(vb.buf,'\n',vb.used); + fprintf(Treportfile," %.*s\n", (int)(nl ? nl - (const char*)vb.buf : vb.used), vb.buf); } m4_define(`hm_syscall', ` @@ -300,7 +309,7 @@ int H$1(hm_args_massage($3,void)) { fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput(); Tensurereportfile(); - fprintf(Treportfile,"syscallr %s",vb2.buf); + fprintf(Treportfile,"%s",vb2.buf); amtread= strlen(vb2.buf); if (amtread<=0 || vb2.buf[--amtread]!=hm_squote\nhm_squote) Psyntax("badly formed line"); @@ -364,4 +373,6 @@ int H$1(hm_args_massage($3,void)) { } ') +m4_define(`hm_specsyscall', `') + m4_include(`hsyscalls.i4')