Module: wine Branch: stable Commit: 2a6171fce9246aff728071c96fa089b025d425f0 URL: https://source.winehq.org/git/wine.git/?a=commit;h=2a6171fce9246aff728071c96...
Author: Zebediah Figura zfigura@codeweavers.com Date: Mon Jun 10 20:19:50 2019 -0400
ucrtbase: Write the %hh prefix as a single char.
This fixes a crash in Planet Coaster on startup.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 9445bed2981c5a68a57c749b9354649980a31c39) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/msvcrt/scanf.h | 3 +++ dlls/ucrtbase/tests/scanf.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcrt/scanf.h b/dlls/msvcrt/scanf.h index 0903d6909a..1058a7a911 100644 --- a/dlls/msvcrt/scanf.h +++ b/dlls/msvcrt/scanf.h @@ -309,6 +309,9 @@ _FUNCTION_ { if (I64_prefix) _SET_NUMBER_(LONGLONG); else if (l_prefix) _SET_NUMBER_(LONG); else if (h_prefix == 1) _SET_NUMBER_(short int); +#if _MSVCR_VER >= 140 + else if (h_prefix == 2) _SET_NUMBER_(char); +#endif else _SET_NUMBER_(int); } } diff --git a/dlls/ucrtbase/tests/scanf.c b/dlls/ucrtbase/tests/scanf.c index 7f44b7f1ad..bf886e7d61 100644 --- a/dlls/ucrtbase/tests/scanf.c +++ b/dlls/ucrtbase/tests/scanf.c @@ -188,7 +188,7 @@ static void test_sscanf(void) result = 0xdeadbeef; ret = vsscanf_wrapper(tests[i], "12345678", "%hhd", &result); ok(ret == 1, "sscanf returned %d for flags %#x\n", ret, tests[i]); - todo_wine ok(result == 0xdeadbe4e, "got wrong number %#x for flags %#x\n", result, tests[i]); + ok(result == 0xdeadbe4e, "got wrong number %#x for flags %#x\n", result, tests[i]);
ret = vsscanf_wrapper(tests[i], "12345678901234", "%lld", &result64); ok(ret == 1, "sscanf returned %d for flags %#x\n", ret, tests[i]);