| ii-1.4-joinuser.diff - sites - public wiki contents of suckless.org | |
| git clone git://git.suckless.org/sites | |
| Log | |
| Files | |
| Refs | |
| --- | |
| ii-1.4-joinuser.diff (2213B) | |
| --- | |
| 1 diff -r d93eaacde742 ii.c | |
| 2 --- a/ii.c Fri Jun 25 10:55:05 2010 +0200 | |
| 3 +++ b/ii.c Tue Jul 13 09:29:23 2010 -0700 | |
| 4 @@ -105,6 +105,7 @@ | |
| 5 return open(infile, O_RDONLY | O_NONBLOCK, 0); | |
| 6 } | |
| 7 | |
| 8 +static void print_out(char *channel, char *buf); // needs to be declared | |
| 9 static void add_channel(char *name) { | |
| 10 Channel *c; | |
| 11 int fd; | |
| 12 @@ -130,6 +131,12 @@ | |
| 13 } | |
| 14 c->fd = fd; | |
| 15 c->name = strdup(name); | |
| 16 + | |
| 17 + if(name[0] && !((name[0]=='#')||(name[0]=='&')||(name[0]=='+')|… | |
| 18 + char msg[128]; | |
| 19 + snprintf(msg, sizeof(msg), "-!- %s has joined %s", nick… | |
| 20 + print_out(name, msg); | |
| 21 + } | |
| 22 } | |
| 23 | |
| 24 static void rm_channel(Channel *c) { | |
| 25 @@ -210,6 +217,7 @@ | |
| 26 if(channel) snprintf(server, sizeof(server), "-!- %s", channel); | |
| 27 if(strstr(buf, server)) channel=""; | |
| 28 create_filepath(outfile, sizeof(outfile), channel, "out"); | |
| 29 + if(channel && channel[0]) add_channel(channel); | |
| 30 if(!(out = fopen(outfile, "a"))) return; | |
| 31 | |
| 32 strftime(buft, sizeof(buft), "%F %R", localtime(&t)); | |
| 33 @@ -237,17 +245,14 @@ | |
| 34 case 'j': | |
| 35 p = strchr(&buf[3], ' '); | |
| 36 if(p) *p = 0; | |
| 37 + add_channel(&buf[3]); | |
| 38 if((buf[3]=='#')||(buf[3]=='&')||(buf[3]=='+')|… | |
| 39 if(p) snprintf(message, PIPE_BUF, "JOIN… | |
| 40 else snprintf(message, PIPE_BUF, "JOIN … | |
| 41 - add_channel(&buf[3]); | |
| 42 } | |
| 43 - else { | |
| 44 - if(p){ | |
| 45 - add_channel(&buf[3]); | |
| 46 - proc_channels_privmsg(&buf[3], … | |
| 47 - return; | |
| 48 - } | |
| 49 + else if(p) { | |
| 50 + proc_channels_privmsg(&buf[3], p + 1); | |
| 51 + return; | |
| 52 } | |
| 53 break; | |
| 54 case 't': | |
| 55 @@ -357,6 +362,8 @@ | |
| 56 argv[TOK_CHAN] = argv[TOK_TEXT]; | |
| 57 snprintf(message, PIPE_BUF, "-!- %s(%s) has joined %s",… | |
| 58 } else if(!strncmp("PART", argv[TOK_CMD], 5)) { | |
| 59 + if (!strcmp(nick, argv[TOK_NICKSRV])) | |
| 60 + return; | |
| 61 snprintf(message, PIPE_BUF, "-!- %s(%s) has left %s", a… | |
| 62 } else if(!strncmp("MODE", argv[TOK_CMD], 5)) | |
| 63 snprintf(message, PIPE_BUF, "-!- %s changed mode/%s -> … |