chiark / gitweb /
regress: Introduce hnonfuzz.c and Ttestinputfd
[adns.git] / regress / hplayback.c.m4
index 786b1e429a98f34a51248a5d6e3ec02c93395ffa..fb4295cca0dc31e6bb86bc6ce3969871712dc40b 100644 (file)
@@ -3,7 +3,8 @@ m4_dnl (part of complex test harness, not of the library)
 m4_dnl - playback routines
 
 m4_dnl  This file is part of adns, which is
-m4_dnl    Copyright (C) 1997-2000,2003,2006  Ian Jackson
+m4_dnl    Copyright (C) 1997-2000,2003,2006,2014-2016,2020  Ian Jackson
+m4_dnl    Copyright (C) 2014  Mark Wooding
 m4_dnl    Copyright (C) 1999-2000,2003,2006  Tony Finch
 m4_dnl    Copyright (C) 1991 Massachusetts Institute of Technology
 m4_dnl  (See the file INSTALL for full details.)
@@ -19,8 +20,7 @@ m4_dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 m4_dnl  GNU General Public License for more details.
 m4_dnl  
 m4_dnl  You should have received a copy of the GNU General Public License
-m4_dnl  along with this program; if not, write to the Free Software Foundation,
-m4_dnl  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
+m4_dnl  along with this program; if not, write to the Free Software Foundation.
 
 m4_include(hmacros.i4)
 
@@ -69,16 +69,14 @@ static void Pcheckinput(void) {
 }
 
 void Tensurerecordfile(void) {
-  const char *fdstr;
   int fd;
   int chars;
   unsigned long sec, usec;
 
   if (Tinputfile) return;
   Tinputfile= stdin;
-  fdstr= getenv("ADNS_TEST_IN_FD");
-  if (fdstr) {
-    fd= atoi(fdstr);
+  fd = Ttestinputfd();
+  if (fd >= 0) {
     Tinputfile= fdopen(fd,"r"); if (!Tinputfile) Tfailed("fdopen ADNS_TEST_IN_FD");
   }
   setvbuf(Tinputfile,0,_IONBF,0);
@@ -150,6 +148,11 @@ static void P_updatetime(void) {
 static void Pfdset(fd_set *set, int max) {
   int r, c;
   char *ep;
+
+  if (!set) {
+    Pstring("null","null fdset pointer");
+    return;
+  }
   
   if (vb2.buf[vb2.used++] != hm_squote[hm_squote) Psyntax("fd set start not [");
   FD_ZERO(set);