From: Matthias Braun Date: Fri, 8 Oct 2010 13:36:50 +0000 (+0000) Subject: win32 version of obstack_printf X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=1430b7d9727c905e51af70137ddd71c85c52e5ba;p=libfirm win32 version of obstack_printf [r28058] --- 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, ...) {