From 49c59662a89b4db057fd636b16ed222e90db4916 Mon Sep 17 00:00:00 2001 From: Daniel Lehman Date: Fri, 10 Jan 2020 10:55:44 -0800 Subject: [PATCH 2/3] msvcrt: Don't set error in wcstombs_s_l if no characters to convert. Signed-off-by: Daniel Lehman --- dlls/msvcrt/tests/string.c | 4 ++-- dlls/msvcrt/wcs.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c index ab2644f14dd..994f62d4d8f 100644 --- a/dlls/msvcrt/tests/string.c +++ b/dlls/msvcrt/tests/string.c @@ -2300,8 +2300,8 @@ static void test__wcstombs_s_l(void) { L"text", _TRUNCATE, "", 1, 1, STRUNCATE, NULL, FALSE, TRUE }, { L"text", 5, "", 3, 0, ERANGE, NULL, TRUE }, - { L"", 0, NULL, 0, 1, 0, "English.1252", TRUE, TRUE }, - { L"\xfffd", 1, NULL, 0, 2, 0, "English.1252", TRUE, TRUE }, + { L"", 0, NULL, 0, 1, 0, "English.1252" }, + { L"\xfffd", 1, NULL, 0, 2, 0, "English.1252" }, { L"\xfffd", 1, "", 1, 0, EILSEQ, "English.1252", TRUE }, { L"\xfffd", 1, "", 6, 0, EILSEQ, "English.1252", TRUE }, { L"text", _TRUNCATE, "text", 5, 5, 0, "English.1252" }, diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 84110482046..3b7bd5e0728 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -460,6 +460,8 @@ static MSVCRT_size_t MSVCRT_wcsrtombs_l(char *mbstr, const MSVCRT_wchar_t **wcst if(!mbstr) { tmp = WideCharToMultiByte(locinfo->lc_codepage, WC_NO_BEST_FIT_CHARS, *wcstr, -1, NULL, 0, NULL, &used_default)-1; + if(!count) + return tmp; if(!tmp || used_default) { *MSVCRT__errno() = MSVCRT_EILSEQ; return -1; -- 2.17.0