Browse Source

Define va_copy for pre-C99 compilers (code taken from vfprintf.c).

Peter Kjellerstedt 20 years ago
parent
commit
fc89d0247d
1 changed files with 13 additions and 0 deletions
  1. 13 0
      libc/stdio/vasprintf.c

+ 13 - 0
libc/stdio/vasprintf.c

@@ -17,6 +17,19 @@
 #warning Skipping vasprintf since no vsnprintf!
 #else
 
+/* Deal with pre-C99 compilers. */
+
+#ifndef va_copy
+
+#ifdef __va_copy
+#define va_copy(A,B)	__va_copy(A,B)
+#else
+#warning Neither va_copy (C99/SUSv3) nor __va_copy is defined.  Using a simple copy instead.  But you should really check that this is appropriate...
+#define va_copy(A,B)	A = B
+#endif
+
+#endif /* va_copy */
+
 int vasprintf(char **__restrict buf, const char * __restrict format,
 			 va_list arg)
 {