From: Jean-Christophe PLAGNIOL-VILLARD Date: Mon, 14 Jul 2008 12:11:45 +0000 (+0200) Subject: vsprintf: add z and t options X-Git-Tag: v1.3.4-rc1~21 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f354b73e16a86f9e9085471a830605f74f84ea5d;p=oweals%2Fu-boot.git vsprintf: add z and t options Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD --- diff --git a/lib_generic/vsprintf.c b/lib_generic/vsprintf.c index 3db6c3f936..7c9cfe16ce 100644 --- a/lib_generic/vsprintf.c +++ b/lib_generic/vsprintf.c @@ -262,7 +262,9 @@ int vsprintf(char *buf, const char *fmt, va_list args) /* get the conversion qualifier */ qualifier = -1; - if (*fmt == 'h' || *fmt == 'l' || *fmt == 'q') { + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' || + *fmt == 'Z' || *fmt == 'z' || *fmt == 't' || + *fmt == 'q' ) { qualifier = *fmt; if (qualifier == 'l' && *(fmt+1) == 'l') { qualifier = 'q'; @@ -355,9 +357,13 @@ int vsprintf(char *buf, const char *fmt, va_list args) num = va_arg(args, unsigned long long); else #endif - if (qualifier == 'l') + if (qualifier == 'l') { num = va_arg(args, unsigned long); - else if (qualifier == 'h') { + } else if (qualifier == 'Z' || qualifier == 'z') { + num = va_arg(args, size_t); + } else if (qualifier == 't') { + num = va_arg(args, ptrdiff_t); + } else if (qualifier == 'h') { num = (unsigned short) va_arg(args, int); if (flags & SIGN) num = (short) num;