Просмотр исходного кода

Set proper output length for string conversions

jp9000 11 лет назад
Родитель
Сommit
e796aba928
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      libobs/util/platform.c

+ 6 - 4
libobs/util/platform.c

@@ -249,7 +249,7 @@ size_t os_mbs_to_wcs(const char *str, size_t len, wchar_t *dst, size_t dst_size)
 			return 0;
 
 		if (out_len)
-			mbstowcs(dst, str, out_len + 1);
+			out_len = mbstowcs(dst, str, out_len + 1);
 
 		dst[out_len] = 0;
 	}
@@ -274,7 +274,8 @@ size_t os_utf8_to_wcs(const char *str, size_t len, wchar_t *dst,
 			return 0;
 
 		if (out_len)
-			utf8_to_wchar(str, in_len, dst, out_len + 1, 0);
+			out_len = utf8_to_wchar(str, in_len,
+					dst, out_len + 1, 0);
 
 		dst[out_len] = 0;
 	}
@@ -296,7 +297,7 @@ size_t os_wcs_to_mbs(const wchar_t *str, size_t len, char *dst, size_t dst_size)
 			return 0;
 
 		if (out_len)
-			wcstombs(dst, str, out_len + 1);
+			out_len = wcstombs(dst, str, out_len + 1);
 
 		dst[out_len] = 0;
 	}
@@ -321,7 +322,8 @@ size_t os_wcs_to_utf8(const wchar_t *str, size_t len, char *dst,
 			return 0;
 
 		if (out_len)
-			wchar_to_utf8(str, in_len, dst, out_len + 1, 0);
+			out_len = wchar_to_utf8(str, in_len,
+					dst, out_len + 1, 0);
 
 		dst[out_len] = 0;
 	}