Add zx/zd/zu support to c_vsnprintf

PUBLISHED_FROM=83bf0e541a8541e484a83390108ca73d3af95c38
This commit is contained in:
Alexander Alashkin
2016-02-13 13:59:15 +00:00
committed by rojer
parent 44f37f49a1
commit 96c023df41
+8
View File
@@ -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');