Browse Source

use stdarg when compiling with ANSI C compiler

ceriel 29 years ago
parent
commit
c3855160fb
6 changed files with 145 additions and 3 deletions
  1. 35 2
      fast/driver/driver.c
  2. 19 0
      util/ceg/EM_parser/as_EM_pars/error.c
  3. 20 1
      util/grind/tree.c
  4. 4 0
      util/grind/tree.hh
  5. 52 0
      util/int/io.c
  6. 15 0
      util/int/log.c

+ 35 - 2
fast/driver/driver.c

@@ -31,9 +31,13 @@ Something wrong here! Only one of FM2, FPC, or FCC must be defined
 
 #include <errno.h>
 #include <signal.h>
-#include <varargs.h>
 #include <stdio.h>
 #include <em_path.h>
+#if __STDC__
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
 
 /*
 	Version producing ACK .o files in one pass.
@@ -178,7 +182,11 @@ int v_flag = 0;
 int O_flag = 0;
 int ansi_c = 0;
 
+#if __STDC__
+char *mkstr(char *, ...);
+#else
 char *mkstr();
+#endif
 char *malloc();
 char *alloc();
 char *extension();
@@ -669,7 +677,32 @@ concat(al1, al2)
 		*p++ = *q++;
 	}
 }
+#if __STDC__
+/*VARARGS*/
+char *
+mkstr(char *dst, ...)
+{
+	va_list ap;
 
+	va_start(ap, dst);
+	{
+		register char *p;
+		register char *q;
+
+		q = dst;
+		p = va_arg(ap, char *);
+
+		while (p) {
+			while (*q++ = *p++);
+			q--;
+			p = va_arg(ap, char *);
+		}
+	}
+	va_end(ap);
+
+	return dst;
+}
+#else
 /*VARARGS*/
 char *
 mkstr(va_alist)
@@ -696,7 +729,7 @@ mkstr(va_alist)
 
 	return dst;
 }
-
+#endif
 basename(str, dst)
 	char *str;
 	register char *dst;

+ 19 - 0
util/ceg/EM_parser/as_EM_pars/error.c

@@ -1,8 +1,26 @@
 #include <system.h>
+#if __STDC__
+#include <stdarg.h>
+#else
 #include <varargs.h>
+#endif
 
 extern int nerrors;
 
+#if __STDC__
+/*VARARGS*/
+error(char *fmt, ...)
+{
+	va_list pvar;
+
+	va_start(pvar, fmt);
+	fprint( STDERR, "!! ERROR :	");
+	doprnt( STDERR, fmt, pvar);
+	fprint( STDERR, "	!!\n");
+	va_end(pvar);
+	nerrors++;
+}
+#else
 /*VARARGS*/
 error(va_alist)
 va_dcl
@@ -18,3 +36,4 @@ va_dcl
 	va_end(pvar);
 	nerrors++;
 }
+#endif

+ 20 - 1
util/grind/tree.c

@@ -1,10 +1,14 @@
 /* $Id$ */
 
 #include	<stdio.h>
-#include	<varargs.h>
 #include	<assert.h>
 #include	<alloc.h>
 #include	<out.h>
+#if __STDC__
+#include	<stdarg.h>
+#else
+#include	<varargs.h>
+#endif
 
 #include	"operator.h"
 #include	"position.h"
@@ -24,6 +28,20 @@ t_lineno	listline;
 extern char	*strrindex();
 extern int	interrupted;
 
+#if __STDC__
+/*VARARGS1*/
+p_tree
+mknode(int op, ...)
+{
+  va_list ap;
+  register p_tree p = new_tree();
+
+  va_start(ap, op);
+  {
+	register int i, na;
+
+	p->t_oper = op;
+#else
 /*VARARGS1*/
 p_tree
 mknode(va_alist)
@@ -37,6 +55,7 @@ mknode(va_alist)
 	register int i, na;
 
 	p->t_oper = va_arg(ap, int);
+#endif
 	switch(p->t_oper) {
 	case OP_NAME:
 	case OP_HELP:

+ 4 - 0
util/grind/tree.hh

@@ -30,4 +30,8 @@ typedef struct tree {
 
 /* ALLOCDEF "tree" 100 */
 
+#if __STDC__
+extern p_tree	mknode(int, ...);
+#else
 extern p_tree	mknode();
+#endif

+ 52 - 0
util/int/io.c

@@ -5,7 +5,12 @@
 /* $Id$ */
 
 #include	<stdio.h>
+#if __STDC__
+#include	<stdarg.h>
+extern fatal(char *, ...);
+#else
 #include	<varargs.h>
+#endif
 
 #include	"logging.h"
 #include	"global.h"
@@ -105,6 +110,34 @@ init_ofiles(firsttime)
 #endif	/* LOGGING */
 }
 
+#if __STDC__
+/*VARARGS0*/
+fatal(char *fmt, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s: ", prog_name);
+
+	va_start(ap, fmt);
+	{
+		do_fatal(stderr, fmt, ap);
+	}
+	va_end(ap);
+
+	if (mess_fp) {
+		va_start(ap, fmt);
+		{
+			do_fatal(mess_fp, fmt, ap);
+		}
+		va_end(ap);
+	}
+
+	if (running)
+		core_dump();
+	
+	close_down(1);
+}
+#else
 /*VARARGS0*/
 fatal(va_alist)
 	va_dcl
@@ -134,6 +167,7 @@ fatal(va_alist)
 	
 	close_down(1);
 }
+#endif
 
 close_down(rc)
 	int rc;
@@ -163,6 +197,23 @@ PRIVATE do_fatal(fp, fmt, ap)
 	fputc('\n', fp);
 }
 
+#if __STDC__
+/*VARARGS0*/
+message(char *fmt, ...)
+{
+	va_list ap;
+
+	fprintf(mess_fp, "(Message): ");
+
+	va_start(ap, fmt);
+	{
+		vfprintf(mess_fp, fmt, ap);
+	}
+	va_end(ap);
+
+	fprintf(mess_fp, " at %s\n", position());
+}
+#else
 /*VARARGS0*/
 message(va_alist)
 	va_dcl
@@ -180,6 +231,7 @@ message(va_alist)
 
 	fprintf(mess_fp, " at %s\n", position());
 }
+#endif
 
 char *position()			/* transient */
 {

+ 15 - 0
util/int/log.c

@@ -5,7 +5,11 @@
 /* $Id$ */
 
 #include	<stdio.h>
+#if __STDC__
+#include	<stdarg.h>
+#else
 #include	<varargs.h>
+#endif
 
 #include	"logging.h"
 #include	"global.h"
@@ -239,6 +243,16 @@ int check_log(mark)
 	return ((mark[2] - '0') <= log_level[mark[1]]);
 }
 
+#if __STDC__
+/*VARARGS*/
+do_log(char *fmt, ...)
+{
+	va_list ap;
+
+	va_start(ap, fmt);
+	{
+
+#else
 /*VARARGS*/
 do_log(va_alist)
 	va_dcl
@@ -249,6 +263,7 @@ do_log(va_alist)
 	{
 		char *fmt = va_arg(ap, char *);
 
+#endif
 		if (!check_log(fmt))
 			return;