From ecfb80367e891394f5bc0eaf52523b7fc71ab878 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 25 Mar 2014 20:28:20 +0100 Subject: Add va_copy/va_copy_end macros to support both C89 and C99. --- source/fitz/buffer.c | 16 ++-------------- source/fitz/printf.c | 12 ++---------- 2 files changed, 4 insertions(+), 24 deletions(-) (limited to 'source/fitz') diff --git a/source/fitz/buffer.c b/source/fitz/buffer.c index e9295a26..4a87b4ca 100644 --- a/source/fitz/buffer.c +++ b/source/fitz/buffer.c @@ -237,15 +237,9 @@ fz_buffer_vprintf(fz_context *ctx, fz_buffer *buffer, const char *fmt, va_list o va_list args; slack = buffer->cap - buffer->len; -#ifdef _MSC_VER /* Microsoft Visual C */ - args = old_args; -#else va_copy(args, old_args); -#endif len = fz_vsnprintf((char *)buffer->data + buffer->len, slack, fmt, args); -#ifndef _MSC_VER - va_end(args); -#endif + va_copy_end(args); /* len = number of chars written, not including the terminating * NULL, so len+1 > slack means "truncated". */ @@ -255,15 +249,9 @@ fz_buffer_vprintf(fz_context *ctx, fz_buffer *buffer, const char *fmt, va_list o fz_ensure_buffer(ctx, buffer, buffer->len + len); slack = buffer->cap - buffer->len; -#ifdef _MSC_VER /* Microsoft Visual C */ - args = old_args; -#else va_copy(args, old_args); -#endif len = fz_vsnprintf((char *)buffer->data + buffer->len, slack, fmt, args); -#ifndef _MSC_VER - va_end(args); -#endif + va_copy_end(args); } buffer->len += len; diff --git a/source/fitz/printf.c b/source/fitz/printf.c index a1af9436..bc5ee898 100644 --- a/source/fitz/printf.c +++ b/source/fitz/printf.c @@ -1,13 +1,5 @@ #include "mupdf/fitz.h" -/* Microsoft Visual C up to VS2012 */ -#if _MSC_VER < 1800 -#define va_copy(a, oa) do { a=oa; } while (0) -#undef va_end -#define va_end(a) -#define strtof(a, b) ((float)strtod((a), (b))) -#endif - struct fmtbuf { char *p; @@ -280,7 +272,7 @@ fz_vfprintf(fz_context *ctx, FILE *file, const char *fmt, va_list old_args) /* First try using our fixed size buffer */ va_copy(args, old_args); l = fz_vsnprintf(buffer, sizeof buffer, fmt, args); - va_end(args); + va_copy_end(args); /* If that failed, allocate the right size buffer dynamically */ if (l >= sizeof buffer) @@ -288,7 +280,7 @@ fz_vfprintf(fz_context *ctx, FILE *file, const char *fmt, va_list old_args) b = fz_malloc(ctx, l + 1); va_copy(args, old_args); fz_vsnprintf(buffer, l + 1, fmt, args); - va_end(args); + va_copy_end(args); } l = fwrite(b, 1, l, file); -- cgit v1.2.3