From 6445100f0d53351df4036f0c50045fdca1f283c2 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sun, 25 Oct 2015 09:28:57 +0000 Subject: [PATCH] [CRT] Fix NTDLL implementation of mbstowcs() and wcstombs() so that they return length in caracters and not in bytes. This fixes last failing *to* CRT apitests CORE-10390 svn path=/trunk/; revision=69683 --- reactos/lib/sdk/crt/string/mbstowcs_nt.c | 4 ++-- reactos/lib/sdk/crt/string/wcstombs_nt.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/lib/sdk/crt/string/mbstowcs_nt.c b/reactos/lib/sdk/crt/string/mbstowcs_nt.c index f0d5c2c7037..09063919db9 100644 --- a/reactos/lib/sdk/crt/string/mbstowcs_nt.c +++ b/reactos/lib/sdk/crt/string/mbstowcs_nt.c @@ -49,7 +49,7 @@ size_t mbstowcs (wchar_t *wcstr, const char *mbstr, size_t count) mbstr, Length); - return (size_t)Size; + return (size_t)(Size / sizeof(wchar_t)); } Status = RtlMultiByteToUnicodeN (wcstr, @@ -60,7 +60,7 @@ size_t mbstowcs (wchar_t *wcstr, const char *mbstr, size_t count) if (!NT_SUCCESS(Status)) return -1; - return (size_t)Size; + return (size_t)(Size / sizeof(wchar_t));; } /* EOF */ diff --git a/reactos/lib/sdk/crt/string/wcstombs_nt.c b/reactos/lib/sdk/crt/string/wcstombs_nt.c index cf14feb573b..468955bd036 100644 --- a/reactos/lib/sdk/crt/string/wcstombs_nt.c +++ b/reactos/lib/sdk/crt/string/wcstombs_nt.c @@ -40,7 +40,7 @@ size_t wcstombs (char *mbstr, const wchar_t *wcstr, size_t count) (wchar_t*)((size_t)wcstr), Length * sizeof(WCHAR)); - return (size_t)Size; + return (size_t)(Size / sizeof(char)); } Status = RtlUnicodeToMultiByteN (mbstr, @@ -51,7 +51,7 @@ size_t wcstombs (char *mbstr, const wchar_t *wcstr, size_t count) if (!NT_SUCCESS(Status)) return -1; - return (size_t)Size; + return (size_t)(Size / sizeof(char)); } /* EOF */