=?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