=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d-common: Fix vkd3d_strdup_{w16, w32}_utf8() functions.
Alexandre Julliard
julliard at winehq.org
Tue Feb 5 15:58:13 CST 2019
Module: vkd3d
Branch: master
Commit: 0055aa67f155d1f50b7b6c647e909b436289f807
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=0055aa67f155d1f50b7b6c647e909b436289f807
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Fri Feb 1 09:42:51 2019 +0100
vkd3d-common: Fix vkd3d_strdup_{w16, w32}_utf8() functions.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
libs/vkd3d-common/utf8.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/libs/vkd3d-common/utf8.c b/libs/vkd3d-common/utf8.c
index e48316d..8bf4eb0 100644
--- a/libs/vkd3d-common/utf8.c
+++ b/libs/vkd3d-common/utf8.c
@@ -107,8 +107,8 @@ static char *vkd3d_strdup_w16_utf8(const uint16_t *wstr)
{
const uint16_t *src = wstr;
size_t dst_size = 0;
+ char *dst, *utf8;
uint32_t c;
- char *dst;
while (*src)
{
@@ -121,14 +121,15 @@ static char *vkd3d_strdup_w16_utf8(const uint16_t *wstr)
if (!(dst = vkd3d_malloc(dst_size)))
return NULL;
+ utf8 = dst;
src = wstr;
while (*src)
{
if (!(c = vkd3d_utf16_read(&src)))
continue;
- vkd3d_utf8_append(&dst, c);
+ vkd3d_utf8_append(&utf8, c);
}
- *dst = 0;
+ *utf8 = 0;
return dst;
}
@@ -137,7 +138,7 @@ static char *vkd3d_strdup_w32_utf8(const uint32_t *wstr)
{
const uint32_t *src = wstr;
size_t dst_size = 0;
- char *dst;
+ char *dst, *utf8;
while (*src)
dst_size += vkd3d_utf8_len(*src++);
@@ -146,10 +147,11 @@ static char *vkd3d_strdup_w32_utf8(const uint32_t *wstr)
if (!(dst = vkd3d_malloc(dst_size)))
return NULL;
+ utf8 = dst;
src = wstr;
while (*src)
- vkd3d_utf8_append(&dst, *src++);
- *dst = 0;
+ vkd3d_utf8_append(&utf8, *src++);
+ *utf8 = 0;
return dst;
}
More information about the wine-cvs
mailing list