From a7c158d07d8fdebcac68b1254a5b09df07fbe61e Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Thu, 5 May 2016 13:17:05 +0200
Subject: [PATCH] input: simplify a bit of code, reducing a four-case switch to
 a single if

---
 src/winio.c | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/src/winio.c b/src/winio.c
index 9ba9799f..4d3460d2 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -346,19 +346,10 @@ int parse_kbinput(WINDOW *win)
 	case NANO_CONTROL_3:
 	    /* Increment the escape counter. */
 	    escapes++;
-	    switch (escapes) {
-		case 1:
-		    /* One escape: wait for more input. */
-		case 2:
-		    /* Two escapes: wait for more input. */
-		case 3:
-		    /* Three escapes: wait for more input. */
-		    break;
-		default:
-		    /* More than three escapes: limit the escape counter
-		     * to no more than two, and wait for more input. */
-		    escapes %= 3;
-	    }
+	    /* If there are four consecutive escapes, discard three of them. */
+	    if (escapes > 3)
+		escapes = 1;
+	    /* Wait for more input. */
 	    break;
 	default:
 	    switch (escapes) {
-- 
GitLab