]> git.armaanb.net Git - sic.git/blobdiff - sic.c
new stuff
[sic.git] / sic.c
diff --git a/sic.c b/sic.c
index 95f822ae69948d0c1ed68610f83b07dd55c39d38..9b06c6bf937a7f8dfc716a83782c143be77d5302 100644 (file)
--- a/sic.c
+++ b/sic.c
@@ -27,6 +27,7 @@ static const char *fullname = "Anselm R. Garbe";
 static const char *password = NULL;
 
 static char bufin[MAXMSG], bufout[MAXMSG];
+static char channel[256];
 static int srv;
 static time_t trespond;
 
@@ -72,7 +73,7 @@ parsein(char *msg)
        if((p = strchr(msg, ' ')))
                *(p++) = 0;
        if(msg[0] != '/' && msg[0] != 0) {
-               privmsg(msg, p);
+               privmsg(channel, p);
                return;
        }
        if((p = strchr(&msg[3], ' ')))
@@ -92,6 +93,12 @@ parsein(char *msg)
                else
                        snprintf(bufout, sizeof(bufout), "PART %s :sic\r\n", &msg[3]);
                break;
+       case 'm':
+               privmsg(msg, p);
+               break;
+       case 's':
+               strncpy(channel, msg, sizeof(channel));
+               break;
        case 't':
                snprintf(bufout, sizeof(bufout), "TOPIC %s :%s\r\n", &msg[3], p);
                break;
@@ -275,6 +282,7 @@ main(int argc, char *argv[])
                                 nick, nick, host, fullname ? fullname : nick);
        write(srv, bufout, strlen(bufout));
 
+       channel[0] = 0;
        setbuf(stdout, NULL); /* unbuffered stdout */
        for(;;) {
                FD_ZERO(&rd);