浏览代码

fix mismatch of several esc seq. in one input

scroll does not detect two esc seq. with scroll up/down
command in the input buffer and handle it as regular input.
By using strncmp(3) with strlen(3) of the matching sequence,
we detect the fist command and irgnore the rest of the input
buffer.
Jan Klemkow 5 年之前
父节点
当前提交
baaf9c0bb7
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      scroll.c

+ 2 - 1
scroll.c

@@ -493,7 +493,8 @@ main(int argc, char *argv[])
 				goto noevent;
 
 			for (size_t i = 0; i < LENGTH(rules); i++) {
-				if (strcmp(rules[i].seq, input) == 0) {
+				if (strncmp(rules[i].seq, input,
+				    strlen(rules[i].seq)) == 0) {
 					if (rules[i].event == SCROLL_UP)
 						scrollup(rules[i].lines);
 					if (rules[i].event == SCROLL_DOWN)