From 93a8ba217d4f654021795be77fbf46ffdcb093a8 Mon Sep 17 00:00:00 2001 From: Jeff Hostetler Date: Mon, 6 Jun 2016 11:06:28 -0400 Subject: [PATCH] msvc: fix setvbuf() call The VS2015 version of the CRT asserts when you pass a zero buffer length and request line buffering. This fix sets it to the default BUFSIZ. Signed-off-by: Jeff Hostetler --- usage.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usage.c b/usage.c index 0efa3faf60..988695ea87 100644 --- a/usage.c +++ b/usage.c @@ -15,7 +15,12 @@ void vreportf(const char *prefix, const char *err, va_list params) fflush(fh); if (!tweaked_error_buffering) { +#if defined(_MSC_VER) + /* UCRT doesn't like zero buffer size */ + setvbuf(fh, NULL, _IOLBF, BUFSIZ); +#else setvbuf(fh, NULL, _IOLBF, 0); +#endif tweaked_error_buffering = 1; }