some changes
This commit is contained in:
parent
a3abf3b3ef
commit
1edd94af86
28
sic.c
28
sic.c
@ -102,45 +102,43 @@ parsesrv(char *msg) {
|
|||||||
if(!msg || !(*msg))
|
if(!msg || !(*msg))
|
||||||
return;
|
return;
|
||||||
pout("debug", msg);
|
pout("debug", msg);
|
||||||
if(msg[0] == ':') { /* check prefix */
|
if(msg[0] != ':')
|
||||||
|
return; /* don't handle prefix-less server commands */
|
||||||
if(!(p = strchr(msg, ' ')))
|
if(!(p = strchr(msg, ' ')))
|
||||||
return;
|
return;
|
||||||
*p = 0;
|
|
||||||
usr = &msg[1];
|
usr = &msg[1];
|
||||||
|
*p = 0;
|
||||||
cmd = ++p;
|
cmd = ++p;
|
||||||
if((p = strchr(usr, '!')))
|
if((p = strchr(usr, '!')))
|
||||||
*p = 0;
|
*p = 0;
|
||||||
} else
|
|
||||||
cmd = msg;
|
|
||||||
/* remove CRLFs */
|
/* remove CRLFs */
|
||||||
for(p = cmd; *p; p++)
|
if(!(p = strchr(cmd, ':')))
|
||||||
|
return;
|
||||||
|
*p = 0;
|
||||||
|
txt = ++p;
|
||||||
|
for(p = txt; *p; p++)
|
||||||
if(*p == '\r' || *p == '\n')
|
if(*p == '\r' || *p == '\n')
|
||||||
*p = 0;
|
*p = 0;
|
||||||
if(!strncmp("PONG", cmd, 4))
|
if(!strncmp("PONG", cmd, 4))
|
||||||
return;
|
return;
|
||||||
if(!strncmp("PRIVMSG", cmd, 7) || !strncmp("PING", cmd, 4)) {
|
if(!strncmp("PRIVMSG", cmd, 7)) {
|
||||||
if(!(p = strchr(cmd, ' ')))
|
if(!(p = strchr(cmd, ' ')))
|
||||||
return;
|
return;
|
||||||
*p = 0;
|
*p = 0;
|
||||||
chan = ++p;
|
chan = ++p;
|
||||||
for(; *p && *p != ' '; p++);
|
for(; *p && *p != ' '; p++);
|
||||||
*p = 0;
|
*p = 0;
|
||||||
if(!(p = strchr(++p, ':')))
|
|
||||||
return;
|
|
||||||
*p = 0;
|
|
||||||
txt = ++p;
|
|
||||||
if(!strncmp("PRIVMSG", cmd, 8) && chan && txt) {
|
|
||||||
snprintf(bufout, sizeof bufout, "<%s> %s", usr, txt);
|
snprintf(bufout, sizeof bufout, "<%s> %s", usr, txt);
|
||||||
pout(chan, bufout);
|
pout(chan, bufout);
|
||||||
}
|
}
|
||||||
else if(!strncmp("PING", cmd, 5) && txt) {
|
else if(!strncmp("PING", cmd, 4) && txt) {
|
||||||
snprintf(bufout, sizeof bufout, "PONG %s\r\n", txt);
|
snprintf(bufout, sizeof bufout, "PONG %s\r\n", txt);
|
||||||
write(srv, bufout, strlen(bufout));
|
write(srv, bufout, strlen(bufout));
|
||||||
}
|
}
|
||||||
return;
|
else {
|
||||||
}
|
|
||||||
snprintf(bufout, sizeof bufout, "-!- %s", cmd);
|
snprintf(bufout, sizeof bufout, "-!- %s", cmd);
|
||||||
pout(host, bufout);
|
pout(usr, bufout);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
Loading…
Reference in New Issue
Block a user