X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/680003740eaac3b9fb876dc1ac4d321942b451f0..0ebff22d9b5832b18444f7c680ca71e24fc3734e:/regress/hplayback.c.m4 diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index d7b383a..a3c2d8b 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,19 +27,26 @@ m4_include(hmacros.i4) #include #include -#include #include #include +#include #include #include #include +#include +#include + #include "harness.h" static FILE *Tinputfile, *Treportfile; static vbuf vb2; +extern void Tshutdown(void) { + adns__vbuf_free(&vb2); +} + static void Tensurereportfile(void) { const char *fdstr; int fd; @@ -74,6 +81,7 @@ static void Tensureinputfile(void) { fd= atoi(fdstr); Tinputfile= fdopen(fd,"r"); if (!Tinputfile) Tfailed("fdopen ADNS_TEST_IN_FD"); } + setvbuf(Tinputfile,0,_IONBF,0); if (!adns__vbuf_ensure(&vb2,1000)) Tnomem(); fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput(); @@ -248,6 +256,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(); @@ -267,6 +276,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', ` @@ -295,7 +307,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"); @@ -359,4 +371,6 @@ int H$1(hm_args_massage($3,void)) { } ') +m4_define(`hm_specsyscall', `') + m4_include(`hsyscalls.i4')