]> git.armaanb.net Git - sic.git/blobdiff - sic.c
setting the topic must not be supported, its a trivial IRC command (*and rarely used...
[sic.git] / sic.c
diff --git a/sic.c b/sic.c
index 41be7a9fea92fca704adbcb83c6577556aa981fc..77c6a29a4a2202799f52899743fe40b2485fac94 100644 (file)
--- a/sic.c
+++ b/sic.c
@@ -95,11 +95,6 @@ parsein(char *msg) {
                strncpy(channel, msg + 3, sizeof channel);
                return;
        }
-       else if(!strncmp(msg + 1, "t ", 2)) {
-               if((p = strchr(msg + 3, ' ')))
-                       *(p++) = 0;
-               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));
@@ -110,17 +105,20 @@ parsesrv(char *msg) {
        char *chan, *cmd, *p, *txt, *usr; 
 
        txt = NULL;
+       usr = host;
        if(!msg || !(*msg))
                return;
        if(msg[0] != ':')
-               return; /* don't handle prefix-less server commands */
-       if(!(p = strchr(msg, ' ')))
-               return;
-       usr = msg + 1;
-       *p = 0;
-       cmd = ++p;
-       if((p = strchr(usr, '!')))
+               cmd = msg;
+       else {
+               if(!(p = strchr(msg, ' ')))
+                       return;
                *p = 0;
+               usr = msg + 1;
+               cmd = ++p;
+               if((p = strchr(usr, '!')))
+                       *p = 0;
+       }
        for(p = cmd; *p; p++) /* remove CRLFs */
                if(*p == '\r' || *p == '\n')
                        *p = 0;