summaryrefslogtreecommitdiff
path: root/mystdarg.h
diff options
context:
space:
mode:
Diffstat (limited to 'mystdarg.h')
-rw-r--r--mystdarg.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/mystdarg.h b/mystdarg.h
new file mode 100644
index 0000000..36bdf69
--- /dev/null
+++ b/mystdarg.h
@@ -0,0 +1,19 @@
+
+ /*
+ * What follows is an attempt to unify varargs.h and stdarg.h. I'd rather
+ * have this than #ifdefs all over the code.
+ */
+
+#ifdef __STDC__
+#include <stdarg.h>
+#define VARARGS(func,type,arg) func(type arg, ...)
+#define VASTART(ap,type,name) va_start(ap,name)
+#define VAEND(ap) va_end(ap)
+#else
+#include <varargs.h>
+#define VARARGS(func,type,arg) func(va_alist) va_dcl
+#define VASTART(ap,type,name) {type name; va_start(ap); name = va_arg(ap, type)
+#define VAEND(ap) va_end(ap);}
+#endif
+
+extern char *percent_m();