From 18c3c2c78b245352bc9e297bb59f905352242af1 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sun, 15 Dec 2019 14:03:02 -0600 Subject: [PATCH] ntdll: Return -1 from Unix code page conversion functions if an error was encountered. If 0 is returned, the caller has no way of determining this. This fixes a test failure in kernel32:change introduced by f46fa9c92. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/ntdll/locale.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c index 4c951693662..d9e4e8086e8 100644 --- a/dlls/ntdll/locale.c +++ b/dlls/ntdll/locale.c @@ -643,7 +643,7 @@ int ntdll_umbstowcs( DWORD flags, const char *src, int srclen, WCHAR *dst, int d if (!dstlen) dst = NULL; status = RtlUTF8ToUnicodeN( dst, dstlen * sizeof(WCHAR), &reslen, src, srclen ); - if (status && status != STATUS_SOME_NOT_MAPPED) return 0; + if (status && status != STATUS_SOME_NOT_MAPPED) return -1; reslen /= sizeof(WCHAR); #ifdef __APPLE__ /* work around broken Mac OS X filesystem that enforces decomposed Unicode */ if (reslen && dst) RtlNormalizeString( NormalizationC, dst, reslen, dst, (int *)&reslen ); @@ -666,7 +666,7 @@ int ntdll_wcstoumbs( DWORD flags, const WCHAR *src, int srclen, char *dst, int d if (used) *used = 0; /* all chars are valid for UTF-8 */ if (!dstlen) dst = NULL; status = RtlUnicodeToUTF8N( dst, dstlen, &reslen, src, srclen * sizeof(WCHAR) ); - if (status && status != STATUS_SOME_NOT_MAPPED) return 0; + if (status && status != STATUS_SOME_NOT_MAPPED) return -1; return reslen; }