From a5468cfee0d203dcb2f87e99317d4181ca5cc6fa Mon Sep 17 00:00:00 2001 From: derrod Date: Sun, 23 Oct 2022 03:19:58 +0200 Subject: [PATCH] libobs: Make wcs<->utf8 conversion consistent On Windows NULL characters would be included in the output if insize is non-zero, but on *nix it would abort on the first NULL. --- libobs/util/utf8.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libobs/util/utf8.c b/libobs/util/utf8.c index 3f8aadfc7..a90618ac8 100644 --- a/libobs/util/utf8.c +++ b/libobs/util/utf8.c @@ -146,7 +146,7 @@ size_t utf8_to_wchar(const char *in, size_t insize, wchar_t *out, wlim = out == NULL ? NULL : out + outsize; for (; p < lim; p += n) { - if (!*p) + if (!*p && insize == 0) break; if (utf8_forbidden(*p) != 0 && (flags & UTF8_IGNORE_ERROR) == 0) @@ -276,7 +276,7 @@ size_t wchar_to_utf8(const wchar_t *in, size_t insize, char *out, total = 0; for (; w < wlim; w++) { - if (!*w) + if (!*w && insize == 0) break; if (wchar_forbidden(*w) != 0) {