summaryrefslogtreecommitdiff
path: root/sys/arch/pmax/include/stdarg.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/pmax/include/stdarg.h')
-rw-r--r--sys/arch/pmax/include/stdarg.h20
1 files changed, 6 insertions, 14 deletions
diff --git a/sys/arch/pmax/include/stdarg.h b/sys/arch/pmax/include/stdarg.h
index 73f3b6e0a1a..c9a644c1ef8 100644
--- a/sys/arch/pmax/include/stdarg.h
+++ b/sys/arch/pmax/include/stdarg.h
@@ -1,4 +1,4 @@
-/* $NetBSD: stdarg.h,v 1.7 1995/03/28 18:19:28 jtc Exp $ */
+/* $NetBSD: stdarg.h,v 1.10 1995/12/25 23:15:35 mycroft Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -42,23 +42,15 @@
typedef _BSD_VA_LIST_ va_list;
-#define __va_promote(type) \
- (((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
+#define __va_size(type) \
+ (((sizeof(type) + sizeof(long) - 1) / sizeof(long)) * sizeof(long))
#define va_start(ap, last) \
- (ap = ((char *)&(last) + __va_promote(last)))
+ ((ap) = (va_list)&(last) + __va_size(last))
-#ifdef _KERNEL
#define va_arg(ap, type) \
- ((type *)(ap += sizeof(type)))[-1]
-#else
-#define va_arg(ap, type) \
- ((type *)(ap += sizeof(type) == sizeof(int) ? sizeof(type) : \
- sizeof(type) > sizeof(int) ? \
- (-(int)(ap) & (sizeof(type) - 1)) + sizeof(type) : \
- (abort(), 0)))[-1]
-#endif
+ (*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
-#define va_end(ap) ((void) 0)
+#define va_end(ap) ((void)0)
#endif /* !_PMAX_STDARG_H_ */