[PATCH] ntdll: Return -1 from Unix code page conversion functions if an error was encountered.
Zebediah Figura
z.figura12 at gmail.com
Sun Dec 15 14:03:02 CST 2019
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 <z.figura12 at gmail.com>
---
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 4c95169366..d9e4e8086e 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;
}
--
2.24.1
More information about the wine-devel
mailing list