From b51e5d8b8dd2b5e7c5986f19bdf4130226b47379 Mon Sep 17 00:00:00 2001 From: Boskovits Date: Thu, 7 Mar 2019 11:42:58 +0100 Subject: tui_tk_ti_getstr: handle weird value #9688 tigetstr (used by libtermkey/driver-ti.c) may return -1 as a pointer. Documented in man 3 tigetstr. https://linux.die.net/man/3/tigetstr > The tigetstr routine returns the value (char *)-1 if capname is not a string > capability, or 0 if it is canceled or absent from the terminal description. Fixed #9687 --- src/nvim/tui/tui.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index e20cf15a79..3e7a3b1ba1 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -2000,7 +2000,7 @@ static const char *tui_tk_ti_getstr(const char *name, const char *value, } else if (strequal(name, "key_dc")) { DLOG("libtermkey:kdch1=%s", value); // Vim: "If and are now the same, redefine ." - if (value != NULL && strequal(stty_erase, value)) { + if (value != NULL && value != (char *)-1 && strequal(stty_erase, value)) { return stty_erase[0] == DEL ? CTRL_H_STR : DEL_STR; } } else if (strequal(name, "key_mouse")) { -- cgit