sic

simple irc client
git clone git://git.suckless.org/sic
Log | Files | Refs | README | LICENSE

commit 2c257c70bc2529aafcc1116b4247ba214d70ff00
parent fb185a5e18042d811990dcd5855b62e88d81a9d7
Author: Anselm R. Garbe <arg@10kloc.org>
Date:   Tue,  5 Sep 2006 09:47:15 +0200

fixed several annoyances
Diffstat:
sic.c | 24+++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/sic.c b/sic.c @@ -78,34 +78,32 @@ parsein(char *msg) } if((p = strchr(&msg[3], ' '))) *(p++) = 0; - switch (msg[1]) { - default: - snprintf(bufout, sizeof(bufout), "%s\r\n", &msg[1]); - break; - case 'j': + if(!strncmp(msg + 1, "j ", 2)) { if(msg[3] == '#') snprintf(bufout, sizeof(bufout), "JOIN %s\r\n", &msg[3]); else if(p) { privmsg(&msg[3], p + 1); return; } - break; - case 'l': + } + else if(!strncmp(msg + 1, "l ", 2)) { if(p) snprintf(bufout, sizeof(bufout), "PART %s :%s\r\n", &msg[3], p); else snprintf(bufout, sizeof(bufout), "PART %s :sic\r\n", &msg[3]); - break; - case 'm': + } + else if(!strncmp(msg + 1, "m ", 2)) { privmsg(&msg[3], p); return; - case 's': + } + else if(!strncmp(msg + 1, "s ", 2)) { strncpy(channel, &msg[3], sizeof(channel)); return; - case 't': - snprintf(bufout, sizeof(bufout), "TOPIC %s :%s\r\n", &msg[3], p); - break; } + else if(!strncmp(msg + 1, "t ", 2)) + snprintf(bufout, sizeof(bufout), "TOPIC %s :%s\r\n", &msg[3], p); + else + snprintf(bufout, sizeof(bufout), "%s\r\n", &msg[1]); write(srv, bufout, strlen(bufout)); }