From c8f3b9ba38feb7464af8a2ebf4a62859c92fa17f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Sat, 2 Aug 2025 17:47:40 +0200 Subject: [PATCH] eizoctl: fix compatibility with newer MinGW-w64 --- eizoctl.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eizoctl.c b/eizoctl.c index 810ac80..3529cdd 100644 --- a/eizoctl.c +++ b/eizoctl.c @@ -1251,10 +1251,13 @@ message_printf(const char *format, va_list ap) return NULL; mbstowcs(format_wide, format, format_wide_len); - int message_len = vswprintf(NULL, 0, format_wide, ap) + 1; + // Note that just vswprintf() cannot be used like this + // (at least since mingw-w64 commit c85d64), + // and vsnwprintf() is a MinGW extension, acting like C11 vsnwprintf_s. + int message_len = vsnwprintf(NULL, 0, format_wide, ap) + 1; wchar_t *message = calloc(message_len, sizeof *message); if (message_len > 0 && message) - vswprintf(message, message_len, format_wide, ap); + vsnwprintf(message, message_len, format_wide, ap); free(format_wide); return message;