summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commands.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/commands.cpp b/src/commands.cpp
index 5e5cf66c8..40edee6e2 100644
--- a/src/commands.cpp
+++ b/src/commands.cpp
@@ -1970,23 +1970,25 @@ void handle_L(char token,char* params,serverrec* source,serverrec* reply, char*
char* nick = NULL;
char* channel = NULL;
char* reason = NULL;
- if (strchr(params,':'))
- {
- nick = strtok(params," ");
- channel = strtok(NULL," :");
- reason = strtok(NULL,"\r\n");
- reason++;
- }
- else
+ log(DEBUG,"L TOKEN PARS: '%s'",params);
+ if (strstr(params,":#"))
{
nick = strtok(params," ");
channel = strtok(NULL,"\r\n");
+ channel++;
reason = "";
}
+ else
+ {
+ nick = strtok(params," ");
+ channel = strtok(NULL," :");
+ reason = strtok(NULL,"\r\n");
+ reason++;
+ }
userrec* user = Find(nick);
if ((user) && (channel) && (reason))
{
- if (strcmp(reason,""))
+ if ((!reason) && (*reason != '\0'))
{
del_channel(user,channel,reason,true);
}