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') {