summaryrefslogtreecommitdiff
path: root/sic.c
diff options
context:
space:
mode:
Diffstat (limited to 'sic.c')
-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;