iAdd nickname and new message indicator. - irc - Unnamed repository; edit this file 'description' to name the repository. Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/irc.git URL:git://vernunftzentrum.de/irc.git vernunftzentrum.de 70 1Log /ckeen/repos/irc/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/irc/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/irc/refs.gph vernunftzentrum.de 70 1README /ckeen/repos/irc/file/README.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit e3ce65b0ed8f3e7342646f8272a0cf0c78d31f79 /ckeen/repos/irc/commit/e3ce65b0ed8f3e7342646f8272a0cf0c78d31f79.gph vernunftzentrum.de 70 1parent 9d13c27310b659f41379c638b799281d7735201c /ckeen/repos/irc/commit/9d13c27310b659f41379c638b799281d7735201c.gph vernunftzentrum.de 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org vernunftzentrum.de 70 iDate: Sun, 24 Apr 2016 18:32:41 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iAdd nickname and new message indicator. Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i irc.c | 28 ++++++++++++++++++++-------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 20 insertions(+), 8 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/irc.c b/irc.c /ckeen/repos/irc/file/irc.c.gph vernunftzentrum.de 70 i@@ -46,6 +46,8 @@ struct Chan { Err vernunftzentrum.de 70 i char *buf, *eol; Err vernunftzentrum.de 70 i int n; /* Scroll offset. */ Err vernunftzentrum.de 70 i size_t sz; /* size of buf. */ Err vernunftzentrum.de 70 i+ char high; /* Nick highlight. */ Err vernunftzentrum.de 70 i+ char new; /* New message. */ Err vernunftzentrum.de 70 i } chl[MaxChans]; Err vernunftzentrum.de 70 i int nch, ch; /* Current number of channels, and current channel. */ Err vernunftzentrum.de 70 i char outb[BufSz], *outp=outb; /* Output buffer. */ Err vernunftzentrum.de 70 i@@ -258,7 +260,7 @@ pushf(int cn, const char *fmt, ...) Err vernunftzentrum.de 70 i static void Err vernunftzentrum.de 70 i scmd(char *usr, char *cmd, char *par, char *data) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i- int s; Err vernunftzentrum.de 70 i+ int s, c; Err vernunftzentrum.de 70 i char *pm=strtok(par, " "); Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i if (!usr) usr="?"; Err vernunftzentrum.de 70 i@@ -269,10 +271,16 @@ scmd(char *usr, char *cmd, char *par, char *data) Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i if (!strcmp(cmd, "PRIVMSG")) { Err vernunftzentrum.de 70 i if (!pm || !data) return; Err vernunftzentrum.de 70 i- if (strcasestr(data, nick)) Err vernunftzentrum.de 70 i- pushf(chfind(pm), PFMTHIGH, usr, data); Err vernunftzentrum.de 70 i- else Err vernunftzentrum.de 70 i- pushf(chfind(pm), PFMT, usr, data); Err vernunftzentrum.de 70 i+ c=chfind(pm); Err vernunftzentrum.de 70 i+ if (strcasestr(data, nick)) { Err vernunftzentrum.de 70 i+ pushf(c, PFMTHIGH, usr, data); Err vernunftzentrum.de 70 i+ chl[c].high |= ch != c; Err vernunftzentrum.de 70 i+ } else Err vernunftzentrum.de 70 i+ pushf(c, PFMT, usr, data); Err vernunftzentrum.de 70 i+ if (ch != c) { Err vernunftzentrum.de 70 i+ chl[c].new=1; Err vernunftzentrum.de 70 i+ tdrawbar(); Err vernunftzentrum.de 70 i+ } Err vernunftzentrum.de 70 i } else if (!strcmp(cmd, "PING")) { Err vernunftzentrum.de 70 i sndf("PONG :%s", data?data:"(null)"); Err vernunftzentrum.de 70 i } else if (!strcmp(cmd, "PART")) { Err vernunftzentrum.de 70 i@@ -466,6 +474,8 @@ tdrawbar(void) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i if (fst==ch) wattron(scr.sw, A_BOLD); Err vernunftzentrum.de 70 i waddch(scr.sw, '['), l++; Err vernunftzentrum.de 70 i+ if (chl[fst].high) waddch(scr.sw, '>'), l++; Err vernunftzentrum.de 70 i+ else if (chl[fst].new) waddch(scr.sw, '+'), l++; Err vernunftzentrum.de 70 i for (; *p && l