]> git.armaanb.net Git - sic.git/commitdiff
new stuff
authorarg@10ksloc.org <unknown>
Wed, 19 Jul 2006 06:29:40 +0000 (08:29 +0200)
committerarg@10ksloc.org <unknown>
Wed, 19 Jul 2006 06:29:40 +0000 (08:29 +0200)
sic.1
sic.c

diff --git a/sic.1 b/sic.1
index 2d453d374e3964af3ccd4b1ee41edaa87d6bd0f9..03566906b08c7f378eeb65855777d858803975e4 100644 (file)
--- a/sic.1
+++ b/sic.1
@@ -24,6 +24,7 @@ leave a channel/query
 .TP
 .BI /m " #channel/user msg "
 write a message to #channel/user
+.TP
 .BI /t " topic"
 set the channel topic
 .TP
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);