summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarg@suckless.org <unknown>2007-02-13 16:06:28 +0100
committerarg@suckless.org <unknown>2007-02-13 16:06:28 +0100
commit7ef7529687d3e15aee3fe7fb6e6dceb3027ffd92 (patch)
treea1116aba0a55f0c5dd3fa983c2ee777dd48fe183
parentbcda402396cb7691e60a2be01c5ba067f9fb27ee (diff)
downloadcic-7ef7529687d3e15aee3fe7fb6e6dceb3027ffd92.tar.gz
I believe I have fixed the issue, why sic didn't handled PINGs correctly
-rw-r--r--sic.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/sic.c b/sic.c
index 41be7a9..795b4bb 100644
--- a/sic.c
+++ b/sic.c
@@ -110,17 +110,20 @@ parsesrv(char *msg) {
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;