From be4cb6d2a1d1c857fc67eb155788717db167f625 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 10 Mar 2026 03:02:47 -0400 Subject: rewrite start_keystroke() giant if/else chain as switch/case. --- src/irc.c | 57 ++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 19 deletions(-) (limited to 'src/irc.c') diff --git a/src/irc.c b/src/irc.c index a67cf56..f8338b9 100644 --- a/src/irc.c +++ b/src/irc.c @@ -698,6 +698,7 @@ static void start_keystroke(void) { char i, s; i = cgetc(); + if(i >= '1' && i <= '7') { s = i - '1'; if(s != scr_current) { @@ -706,25 +707,43 @@ static void start_keystroke(void) { scr_display(s); } } - } else if(i == CH_CURS_UP || i == '-') { - scrollback(); - } else if(i == CH_ESC) { - scr_prev = SCR_PRIV; - scr_destroy(scr_current); - } else if(i == CH_CURS_LEFT || i == '+') { - scr_prev = scr_current; - hunt_screen(-1); - } else if(i == CH_CURS_RIGHT || i == '*') { - scr_prev = scr_current; - hunt_screen(1); - } else if(i == CH_TAB) { - i = scr_current; - scr_display(scr_prev); - scr_prev = i; - } else if(i == 'a' || i == 'A') { - switch_to_active(); - } else if(i == 's' || i == 'S') { - edbox_hide(); + return; + } + + switch(i) { + case CH_CURS_UP: + case '-': + scrollback(); + return; + case CH_ESC: + scr_prev = SCR_PRIV; + scr_destroy(scr_current); + return; + case CH_CURS_LEFT: + case '+': + scr_prev = scr_current; + hunt_screen(-1); + return; + case CH_CURS_RIGHT: + case '*': + scr_prev = scr_current; + hunt_screen(1); + return; + case CH_TAB: + i = scr_current; + scr_display(scr_prev); + scr_prev = i; + return; + case 'a': + case 'A': + switch_to_active(); + return; + case 's': + case 'S': + edbox_hide(); + /* fall thru */ + default: + break; } } -- cgit v1.2.3