commit f0e089e967734e2b2b7a87b75d1975f7d1dea2c8
parent 900223808f510ea552f27f41f5f05a595ecc0a60
Author: arg@10ksloc.org <unknown>
Date: Wed, 19 Jul 2006 08:29:40 +0200
new stuff
Diffstat:
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git 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
@@ -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);