From 96c023df415f0ad266cc29f1e7a714e8ca9e8404 Mon Sep 17 00:00:00 2001 From: Alexander Alashkin Date: Thu, 11 Feb 2016 12:46:39 +0100 Subject: [PATCH] Add zx/zd/zu support to c_vsnprintf PUBLISHED_FROM=83bf0e541a8541e484a83390108ca73d3af95c38 --- mongoose.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mongoose.c b/mongoose.c index ca76f5b0..be98bf86 100644 --- a/mongoose.c +++ b/mongoose.c @@ -1786,6 +1786,11 @@ int c_vsnprintf(char *buf, size_t buf_size, const char *fmt, va_list ap) { } else if (ch == 'd' && len_mod == 'l') { i += c_itoa(buf + i, buf_size - i, va_arg(ap, long), 10, flags, field_width); +#ifdef SSIZE_MAX + } else if (ch == 'd' && len_mod == 'z') { + i += c_itoa(buf + i, buf_size - i, va_arg(ap, ssize_t), 10, flags, + field_width); +#endif } else if (ch == 'd' && len_mod == 'q') { i += c_itoa(buf + i, buf_size - i, va_arg(ap, int64_t), 10, flags, field_width); @@ -1795,6 +1800,9 @@ int c_vsnprintf(char *buf, size_t buf_size, const char *fmt, va_list ap) { } else if ((ch == 'x' || ch == 'u') && len_mod == 'l') { i += c_itoa(buf + i, buf_size - i, va_arg(ap, unsigned long), ch == 'x' ? 16 : 10, flags, field_width); + } else if ((ch == 'x' || ch == 'u') && len_mod == 'z') { + i += c_itoa(buf + i, buf_size - i, va_arg(ap, size_t), + ch == 'x' ? 16 : 10, flags, field_width); } else if (ch == 'p') { unsigned long num = (unsigned long) va_arg(ap, void *); C_SNPRINTF_APPEND_CHAR('0');