aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-03-23 04:05:10 -0400
committerB. Watson <urchlay@slackware.uk>2026-03-23 04:05:10 -0400
commit46d5295651afe341552327d049f10219dff46765 (patch)
tree25a88f4a8319e339d761b986853eaddc12b4524a
parente65afcbdfb506160492d1f84fbf8a6d9f468664a (diff)
downloadfujinet-chat-46d5295651afe341552327d049f10219dff46765.tar.gz
stop activating screen 1 when receiving a PONG thats a response to an auto-ping (content "A").
-rw-r--r--TODO2
-rw-r--r--src/irc.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/TODO b/TODO
index efd9235..b72feb2 100644
--- a/TODO
+++ b/TODO
@@ -17,6 +17,8 @@ X Configurable ctcp version response. Not going to do for now. Having
Other stuff:
+- [*] BUG: *Something* is making screen 1 go SCR_OTHER in the status bar,
+ without writing to it. It's not PING/PONG either.
- [*] Auto-pinging the server seems to work, but needs more testing.
- [*] Write a cgetc() replacement that doesn't call the OS K: "get one byte"
routine. I was avoiding it because it will need a 192-byte table
diff --git a/src/irc.c b/src/irc.c
index ceeabb8..d0e0595 100644
--- a/src/irc.c
+++ b/src/irc.c
@@ -570,7 +570,11 @@ static void dispatch_msg(void) {
} else if(streq_i(msg_cmd, "MODE")) {
do_mode();
} else if(streq_i(msg_cmd, "PONG")) {
- if(*msg_text != 'A') do_server_pong();
+ if(*msg_text == 'A') {
+ return; /* do not set screen status */
+ } else {
+ do_server_pong();
+ }
} else if(isdigit(msg_cmd[0])) {
do_numeric();
} else {