aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-03-10 03:02:47 -0400
committerB. Watson <urchlay@slackware.uk>2026-03-10 03:02:47 -0400
commitbe4cb6d2a1d1c857fc67eb155788717db167f625 (patch)
treec139f657865797e4bbc512ddd43c88626c9a87c6 /src
parent3a334ebb3d7c8a24b28b5faa70e298851b3d88a1 (diff)
downloadfujinet-chat-be4cb6d2a1d1c857fc67eb155788717db167f625.tar.gz
rewrite start_keystroke() giant if/else chain as switch/case.
Diffstat (limited to 'src')
-rw-r--r--src/irc.c57
1 files changed, 38 insertions, 19 deletions
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;
}
}