Update copyright dates
[adns] / regress / hcommon.c.m4
index c5069ee..6f29b41 100644 (file)
@@ -3,7 +3,7 @@ m4_dnl (part of complex test harness, not of the library)
 m4_dnl - routines used for both record and playback
 
 m4_dnl  This file is part of adns, which is
-m4_dnl    Copyright (C) 1997-2000,2003,2006,2014  Ian Jackson
+m4_dnl    Copyright (C) 1997-2000,2003,2006,2014-2016  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
@@ -160,6 +160,11 @@ void Tvbfdset(int max, const fd_set *fds) {
   int i;
   const char *comma= "";
   
+  if (!fds) {
+    Tvba("null");
+    return;
+  }
+
   Tvba("[");
   for (i=0; i<max; i++) {
     if (!FD_ISSET(i,fds)) continue;
@@ -301,12 +306,12 @@ void *Hrealloc(void *op, size_t nsz) {
 
   if (op) { oldnode= (void*)((char*)op - MALLOCHSZ); osz= oldnode->sz; } else { osz= 0; }
   np= Hmalloc(nsz);
-  memcpy(np,op, osz>nsz ? nsz : osz);
+  if (osz) memcpy(np,op, osz>nsz ? nsz : osz);
   Hfree(op);
   return np;
 }
 
-void Hexit(int rv) {
+void Texit(int rv) {
   struct malloced *loopnode;
 
   Tshutdown();
@@ -322,6 +327,13 @@ void Hexit(int rv) {
   exit(rv);
 }
 
+void Hexit(int rv) {
+  vb.used= 0;
+  Tvbf("exit %d", rv);
+  Q_vb();
+  Texit(0);
+}
+
 pid_t Hgetpid(void) {
   return 2264; /* just some number */
 }