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));
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;