]> git.armaanb.net Git - sic.git/commitdiff
fixed several annoyances
authorAnselm R. Garbe <arg@10kloc.org>
Tue, 5 Sep 2006 07:47:15 +0000 (09:47 +0200)
committerAnselm R. Garbe <arg@10kloc.org>
Tue, 5 Sep 2006 07:47:15 +0000 (09:47 +0200)
sic.c

diff --git a/sic.c b/sic.c
index 8d6580918df69c13a3395d71654876350af4e4c5..8cca783143a599d941ec594929abb742603d213b 100644 (file)
--- 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));
 }