diff options
author | nicm <nicm> | 2020-05-26 12:50:03 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-05-26 12:50:03 +0000 |
commit | ff6f2ff6d93f05f2edf4b6e63bcf08315f3a3c73 (patch) | |
tree | 80067568fc9a759c8b4fb51cb97debb492bf0883 | |
parent | 392b381d1cec6d63c4baaa709243f760ff6c3403 (diff) | |
download | rtmux-ff6f2ff6d93f05f2edf4b6e63bcf08315f3a3c73.tar.gz rtmux-ff6f2ff6d93f05f2edf4b6e63bcf08315f3a3c73.tar.bz2 rtmux-ff6f2ff6d93f05f2edf4b6e63bcf08315f3a3c73.zip |
Return new character properly when converting to data.
-rw-r--r-- | utf8.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -136,12 +136,16 @@ utf8_from_data(const struct utf8_data *ud, utf8_char *uc) u_int offset; if (ud->width != 1 && ud->width != 2) - return (utf8_space1.uc); + fatalx("invalid UTF-8 width"); + if (ud->size == 0) + fatalx("invalid UTF-8 size"); if (ud->size > UTF8_FLAG_SIZE) goto fail; - if (ud->size == 1) - return (utf8_build_one(ud->data[0], 1)); + if (ud->size == 1) { + *uc = utf8_build_one(ud->data[0], 1); + return (UTF8_DONE); + } m.flags = ud->size; if (ud->width == 2) |