Change fatal() and error() to use varargs.
authorDavid Given <dg@cowlark.com>
Fri, 10 May 2013 11:04:21 +0000 (12:04 +0100)
committerDavid Given <dg@cowlark.com>
Fri, 10 May 2013 11:04:21 +0000 (12:04 +0100)
util/ncgg/emlookup.c
util/ncgg/error.c
util/ncgg/extern.h
util/ncgg/hall.c
util/ncgg/lookup.c
util/ncgg/main.c
util/ncgg/strlookup.c
util/ncgg/var.c

index 6d0d9a3..6927f92 100644 (file)
@@ -10,6 +10,7 @@ static char rcsid[]= "$Id$";
 #include <string.h>
 #include "param.h"
 #include "expr.h"
+#include "extern.h"
 #include <em_spec.h>
 #include <em_flag.h>
 
index 48cac2c..5d083d5 100644 (file)
@@ -8,6 +8,8 @@ static char rcsid[]= "$Id$";
 
 #include <stdlib.h>
 #include <stdio.h>
+#include <stdarg.h>
+#include "extern.h"
 
 int nerrors=0;
 
@@ -24,24 +26,38 @@ goodbye() {
 #endif
 }
 
-/*VARARGS1*/
-fatal(s,a,b,c,d) char *s; {
+void errorv(const char* s, va_list ap)
+{
+       extern int lineno;
+       extern char *filename;
+
+       fprintf(stderr, "\"%s\", line %d:", filename, lineno);
+       vfprintf(stderr, s, ap);
+       fprintf(stderr, "\n");
+       nerrors++;
+}
+
+void fatal(const char* s, ...)
+{
+
+       va_list ap;
+
+       va_start(ap, s);
+       errorv(s, ap);
+       va_end(ap);
 
-       error(s,a,b,c,d);
        errorexit();
        goodbye();
        exit(-1);
 }
 
-/*VARARGS1*/
-error(s,a,b,c,d) char *s; {
-       extern int lineno;
-       extern char *filename;
+void error(const char* s, ...)
+{
+       va_list ap;
 
-       fprintf(stderr,"\"%s\", line %d:",filename,lineno);
-       fprintf(stderr,s,a,b,c,d);
-       fprintf(stderr,"\n");
-       nerrors++;
+       va_start(ap, s);
+       errorv(s, ap);
+       va_end(ap);
 }
 
 #ifndef NDEBUG
index ff52607..5615916 100644 (file)
@@ -40,3 +40,7 @@ extern int use_tes;
 
 extern char *mystrcpy();
 extern char *myalloc();
+
+extern void error(const char* s, ...);
+extern void fatal(const char* s, ...);
+
index b22f032..f8a5364 100644 (file)
@@ -9,6 +9,7 @@ static char rcsid[]= "$Id$";
 #include "assert.h"
 #include "param.h"
 #include "set.h"
+#include "extern.h"
 #include <stdio.h>
 
 /*
index c59610f..ab31bae 100644 (file)
@@ -9,6 +9,7 @@ static char rcsid[]= "$Id$";
 #include "assert.h"
 #include "param.h"
 #include "lookup.h"
+#include "extern.h"
 
 char *myalloc();
 char *mystrcpy();
index 2c805e7..330e08c 100644 (file)
@@ -8,6 +8,7 @@ static char rcsid[]= "$Id$";
 
 #include <stdlib.h>
 #include <stdio.h>
+#include "extern.h"
 
 char *filename;
 char *beg_sbrk;
index 5d5877a..d473341 100644 (file)
@@ -7,6 +7,7 @@ static char rcsid[]= "$Id$";
 #endif
 
 #include "param.h"
+#include "extern.h"
 
 int nstrings=0;
 char *l_strings[MAXSTRINGS];
index 792b789..72a3f82 100644 (file)
@@ -13,6 +13,7 @@ static char rcsid[]= "$Id$";
 #include "set.h"
 #include "instruct.h"
 #include "lookup.h"
+#include "extern.h"
 #include <cgg_cg.h>
 
 int wordsize;