cio

a simple irc client
git clone git://kloet.net/cio
Download | Log | Files | Refs | README | LICENSE

commit 11a1e3f6c9254fd7f188166617ed9ac0fa64ce50
parent 36ee8efc9b4c8dec476ec768d591b232cef4accc
Author: Andrew Kloet <andrew@kloet.net>
Date:   Sat,  2 May 2026 11:51:25 -0400

scmd: merge NOTICE and PRIVMSG

Diffstat:
Mcio.c | 26+++++++++-----------------
1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/cio.c b/cio.c @@ -443,27 +443,19 @@ scmd(char *usr, char *cmd, int argc, char **argv) } switch (type) { case NOTICE: - if (argc < 2) break; - c = strchr("&#!+.~", argv[0][0]) ? chfind(argv[0]) : 0; - if (c < 0) c = 0; - pushf(c, PFMT, usr, argv[1]); - if (ch != c) { - chl[c].new = 1; - tdrawbar(); - } - break; case PRIVMSG: if (argc < 2) break; - char *chan = strchr("&#!+.~", argv[0][0]) ? argv[0] : usr; - if (!(c = chfind(chan)) && (c = chadd(chan, 0)) < 0) - break; - if (strcasestr(argv[1], nick)) { - pushf(c, PFMTHIGH, usr, argv[1]); - chl[c].high |= (ch != c); - } else - pushf(c, PFMT, usr, argv[1]); + char *chan; + if (strchr("&#!+.~", argv[0][0])) chan = argv[0]; + else if (type == PRIVMSG) chan = usr; + else chan = NULL; + if (!chan) c = 0; + else if (!(c = chfind(chan)) && (c = chadd(chan, 0)) < 0) break; + int high = (type == PRIVMSG && strcasestr(argv[1], nick)); + pushf(c, high ? PFMTHIGH : PFMT, usr, argv[1]); if (ch != c) { chl[c].new = 1; + chl[c].high |= high; tdrawbar(); } break;