aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2025-08-02 17:47:40 +0200
committerPřemysl Eric Janouch <p@janouch.name>2025-08-02 17:47:40 +0200
commitc8f3b9ba38feb7464af8a2ebf4a62859c92fa17f (patch)
tree482b1a0939f5eb666849698e0629df2cac3276ed
parentd8b01cdaee84276389af7aa0ba32099bad28c7a2 (diff)
downloadusb-drivers-c8f3b9ba38feb7464af8a2ebf4a62859c92fa17f.tar.gz
usb-drivers-c8f3b9ba38feb7464af8a2ebf4a62859c92fa17f.tar.xz
usb-drivers-c8f3b9ba38feb7464af8a2ebf4a62859c92fa17f.zip
eizoctl: fix compatibility with newer MinGW-w64
-rw-r--r--eizoctl.c7
1 files 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;