From 1430b7d9727c905e51af70137ddd71c85c52e5ba Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Fri, 8 Oct 2010 13:36:50 +0000 Subject: [PATCH] win32 version of obstack_printf [r28058] --- ir/obstack/obstack_printf.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ir/obstack/obstack_printf.c b/ir/obstack/obstack_printf.c index eb5b86e45..c1d754f3f 100644 --- a/ir/obstack/obstack_printf.c +++ b/ir/obstack/obstack_printf.c @@ -5,9 +5,15 @@ #include "obstack.h" #ifdef _WIN32 -#define vsnprintf _vsnprintf -#endif - +/* win32/C89 has no va_copy function... so we have to use the stupid fixed-length version */ +int obstack_vprintf(struct obstack *obst, const char *fmt, va_list ap) +{ + char buf[16384]; + int len = _vsnprintf(buf, sizeof(buf), fmt, ap); + obstack_grow(obst, buf, len); + return len; +} +#else int obstack_vprintf(struct obstack *obst, const char *fmt, va_list ap) { char buf[128]; @@ -46,6 +52,7 @@ int obstack_vprintf(struct obstack *obst, const char *fmt, va_list ap) return len; } +#endif int obstack_printf(struct obstack *obst, const char *fmt, ...) { -- 2.20.1