X-Git-Url: http://git.armaanb.net/?a=blobdiff_plain;f=sic.c;h=8cca783143a599d941ec594929abb742603d213b;hb=2c257c70bc2529aafcc1116b4247ba214d70ff00;hp=8d6580918df69c13a3395d71654876350af4e4c5;hpb=fb185a5e18042d811990dcd5855b62e88d81a9d7;p=sic.git diff --git a/sic.c b/sic.c index 8d65809..8cca783 100644 --- 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)); }