From 41c3ec7445fd27c9dc2619ada89447f8fc6222e0 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Wed, 8 Jul 2020 17:43:11 +0200 Subject: [PATCH] Merge pull request #1183 from ailin-nemui/glib-2-63 manually handle NUL unicode in g_utf8_get_next_char_validated (cherry picked from commit 76802985a4d99105374a64cea5f973298ed89ca5) --- src/fe-text/term-terminfo.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fe-text/term-terminfo.c b/src/fe-text/term-terminfo.c index 6e031ebf..53e4a79f 100644 --- a/src/fe-text/term-terminfo.c +++ b/src/fe-text/term-terminfo.c @@ -672,7 +672,11 @@ void term_stop(void) static int input_utf8(const unsigned char *buffer, int size, unichar *result) { - unichar c = g_utf8_get_char_validated((char *)buffer, size); + unichar c = g_utf8_get_char_validated((char *) buffer, size); + + /* GLib >= 2.63 do not accept Unicode NUL anymore */ + if (c == (unichar) -2 && *buffer == 0 && size > 0) + c = 0; switch (c) { case (unichar)-1: