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:
| M | cio.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;