Zebediah Figura : ucrtbase: Write the %hh prefix as a single char.
Alexandre Julliard
julliard at winehq.org
Tue Jun 11 16:54:06 CDT 2019
Module: wine
Branch: master
Commit: 9445bed2981c5a68a57c749b9354649980a31c39
URL: https://source.winehq.org/git/wine.git/?a=commit;h=9445bed2981c5a68a57c749b9354649980a31c39
Author: Zebediah Figura <zfigura at 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 at codeweavers.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 0903d69..1058a7a 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 7f44b7f..bf886e7 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]);
More information about the wine-cvs
mailing list