X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=regress%2Fhplayback.c.m4;h=d7b383a0c495b3fd39e5c480f114b03c25fc394b;hb=refs%2Ftags%2Fprivaterel-1999-10-16-fanf;hp=908886957f7fea3285b64811b1bd753bce12cc3d;hpb=f7f83b4a88b5168130a7bb9cb3d3811eb8c1c260;p=adns.git diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4 index 9088869..d7b383a 100644 --- a/regress/hplayback.c.m4 +++ b/regress/hplayback.c.m4 @@ -44,6 +44,7 @@ static void Tensurereportfile(void) { const char *fdstr; int fd; + if (Treportfile) return; Treportfile= stderr; fdstr= getenv("ADNS_TEST_REPORT_FD"); if (!fdstr) return; fd= atoi(fdstr); @@ -271,7 +272,7 @@ void Q_vb(void) { m4_define(`hm_syscall', ` hm_create_proto_h int H$1(hm_args_massage($3,void)) { - int r; + int r, amtread; m4_define(`hm_rv_fd',`char *ep;') m4_define(`hm_rv_any',`char *ep;') m4_define(`hm_rv_len',`') @@ -295,10 +296,10 @@ int H$1(hm_args_massage($3,void)) { Tensurereportfile(); fprintf(Treportfile,"syscallr %s",vb2.buf); - vb2.avail= strlen(vb2.buf); - if (vb.avail<=0 || vb2.buf[--vb2.avail]!=hm_squote\nhm_squote) + amtread= strlen(vb2.buf); + if (amtread<=0 || vb2.buf[--amtread]!=hm_squote\nhm_squote) Psyntax("badly formed line"); - vb2.buf[vb2.avail]= 0; + vb2.buf[amtread]= 0; if (memcmp(vb2.buf," $1=",hm_r_offset)) Psyntax("syscall reply mismatch"); if (vb2.buf[hm_r_offset] == hm_squoteEhm_squote) { @@ -346,7 +347,8 @@ int H$1(hm_args_massage($3,void)) { m4_define(`hm_arg_pollfds_io',`Parg("$'`1"); Ppollfds($'`1,$'`2);') m4_define(`hm_arg_addr_out',`Parg("$'`1"); Paddr($'`1,$'`2);') $3 - if (vb2.used != vb2.avail) Psyntax("junk at end of line"); + assert(vb2.used <= amtread); + if (vb2.used != amtread) Psyntax("junk at end of line"); hm_create_nothing m4_define(`hm_arg_bytes_out',`r= Pbytes($'`2,$'`4);')