From c52548f6fd311e4df3076ba4cc6f6ab8849557ac Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 10 Feb 2014 11:20:41 +0000 Subject: The last fix to xterm keys meant that some keys such as \033OA were being wrongly treated as partial matches. So both check xterm keys after standard keys and only wildcard the minimum required ('1' to '8'). Problems reported by Ralf Horstmann and Tim van der Molen. --- xterm-keys.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'xterm-keys.c') diff --git a/xterm-keys.c b/xterm-keys.c index 9b5a0a21..0e20165b 100644 --- a/xterm-keys.c +++ b/xterm-keys.c @@ -131,7 +131,9 @@ xterm_keys_match(const char *template, const char *buf, size_t len) pos = 0; do { - if (*template != '_' && buf[pos] != *template) + if (*template == '_' && buf[pos] >= '1' && buf[pos] <= '8') + continue; + if (buf[pos] != *template) return (-1); } while (*++template != '\0' && ++pos != len); -- cgit