From: Petri Lehtinen Date: Sun, 20 Mar 2011 19:15:39 +0000 (+0200) Subject: Enhance portability of va_copy() X-Git-Tag: v2.0.1~7 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=jansson.git;a=commitdiff_plain;h=b90ed1accb3fcdf1111dbe33a2ce4519eb6e5d0c Enhance portability of va_copy() va_copy() is a C99 feature. In C89 implementations, it's sometimes available as __va_copy(). If not, memcpy() should do the trick. --- diff --git a/src/jansson_private.h b/src/jansson_private.h index 08731e8..9224b31 100644 --- a/src/jansson_private.h +++ b/src/jansson_private.h @@ -9,7 +9,6 @@ #define JANSSON_PRIVATE_H #include -#include #include "jansson.h" #include "hashtable.h" @@ -21,6 +20,16 @@ #define max(a, b) ((a) > (b) ? (a) : (b)) #endif +/* va_copy is a C99 feature. In C89 implementations, it's sometimes + available as __va_copy. If not, memcpy() should do the trick. */ +#ifndef va_copy +#ifdef __va_copy +#define va_copy __va_copy +#else +#define va_copy(a, b) memcpy(&(a), &(b), sizeof(va_list)) +#endif +#endif + typedef struct { json_t json; hashtable_t hashtable; diff --git a/src/load.c b/src/load.c index 74e33fc..262bd7d 100644 --- a/src/load.c +++ b/src/load.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include