2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* zebra.h: If not C99 and no va_copy macro available, fall back to
	  memcpy (solves a build problem on FreeBSD 4.x).
This commit is contained in:
ajs 2005-01-12 16:18:17 +00:00
parent afc1e2ddf2
commit e22f5516b3
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* zebra.h: If not C99 and no va_copy macro available, fall back to
memcpy (solves a build problem on FreeBSD 4.x).
2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether

View File

@ -97,9 +97,17 @@ typedef int socklen_t;
#include <stdarg.h>
#if !(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
/* Not C99; do we need to define va_copy? */
#if !defined(va_copy) && defined(__va_copy)
#ifndef va_copy
#ifdef __va_copy
#define va_copy(DST,SRC) __va_copy(DST,SRC)
#endif /* need va_copy */
#else
/* Now we are desperate; this should work on many typical platforms.
But this is slightly dangerous, because the standard does not require
va_copy to be a macro. */
#define va_copy(DST,SRC) memcpy(&(DST), &(SRC), sizeof(va_list))
#warning "Not C99 and no va_copy macro available, falling back to memcpy"
#endif /* __va_copy */
#endif /* !va_copy */
#endif /* !C99 */
#include "zassert.h"