chiark / gitweb /
regress: fuzzraw: Direct traceprint to stderr
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 30 Nov 2016 23:21:07 +0000 (23:21 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 11 Jun 2020 15:13:02 +0000 (16:13 +0100)
We open our own FILE* because the test program might fclose actual
stderr before returning from main.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
regress/hfuzzraw.c.m4

index 1f76f0ee2de7c7292cd18d61275cbc2e1cb80701..987ef67d1774445d1bb04a68c8517d58c504445d 100644 (file)
@@ -46,9 +46,8 @@ static vbuf fdtab;
 #define FDF_OPEN     001u
 #define FDF_NONBLOCK 002u
 
-static FILE *Tinputfile;
+static FILE *Tinputfile, *traceout;
 static int traceprint;
-#define traceout stdout
 
 static void Tflushtrace( void) {
   if (fflush(traceout)) Toutputerr();
@@ -73,7 +72,10 @@ void Tensuresetup(void) {
   }
 
   const char *traceprintstr= getenv("ADNS_TEST_FUZZRAW_TRACEPRINT");
-  if (traceprintstr) traceprint= atoi(traceprintstr);
+  if (traceprintstr) {
+    traceprint= atoi(traceprintstr);
+    traceout= fdopen(2,"w");  if (!traceout) Tfailed("fdopen for traceout");
+  }
 }
 
 void Q_vb(void) {