From 46d47eb029f1c60f62e7fb241bf11bf92ab67d19 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Fri, 15 Jan 2010 21:00:20 +0000 Subject: [PATCH] [CRT] Patch by Jose Catena: vsnprintf: added support for ll size specifier See issue #5122 for more details. svn path=/trunk/; revision=45089 --- reactos/lib/rtl/sprintf.c | 5 ++++- reactos/lib/rtl/swprintf.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/reactos/lib/rtl/sprintf.c b/reactos/lib/rtl/sprintf.c index c6d651af98d..42aca6c3511 100644 --- a/reactos/lib/rtl/sprintf.c +++ b/reactos/lib/rtl/sprintf.c @@ -451,7 +451,10 @@ int __cdecl _vsnprintf(char *buf, size_t cnt, const char *fmt, va_list args) /* get the conversion qualifier */ qualifier = -1; - if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' || *fmt == 'w') { + if (*fmt == 'l' && *(fmt+1) == 'l') { + qualifier = 'I'; + fmt += 2; + } else if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' || *fmt == 'w') { qualifier = *fmt; ++fmt; } else if (*fmt == 'I' && *(fmt+1) == '6' && *(fmt+2) == '4') { diff --git a/reactos/lib/rtl/swprintf.c b/reactos/lib/rtl/swprintf.c index 8ac75cad4e9..3d6488b92b6 100644 --- a/reactos/lib/rtl/swprintf.c +++ b/reactos/lib/rtl/swprintf.c @@ -449,7 +449,10 @@ int __cdecl _vsnwprintf(wchar_t *buf, size_t cnt, const wchar_t *fmt, va_list ar /* get the conversion qualifier */ qualifier = -1; - if (*fmt == L'h' || *fmt == L'l' || *fmt == L'L' || *fmt == L'w') { + if (*fmt == L'l' && *(fmt+1) == L'l') { + qualifier = L'I'; + fmt += 2; + } else if (*fmt == L'h' || *fmt == L'l' || *fmt == L'L' || *fmt == L'w') { qualifier = *fmt; ++fmt; } else if (*fmt == L'I' && *(fmt+1) == L'6' && *(fmt+2) == L'4') {