I believe I have fixed the issue, why sic didn't handled PINGs correctly - sic - simple irc client
HTML git clone git://git.suckless.org/sic
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 7ef7529687d3e15aee3fe7fb6e6dceb3027ffd92
DIR parent bcda402396cb7691e60a2be01c5ba067f9fb27ee
HTML Author: arg@suckless.org <unknown>
Date: Tue, 13 Feb 2007 16:06:28 +0100
I believe I have fixed the issue, why sic didn't handled PINGs correctly
Diffstat:
M sic.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
---
DIR diff --git 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;