summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fe-common/irc/fe-events-numeric.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/fe-common/irc/fe-events-numeric.c b/src/fe-common/irc/fe-events-numeric.c
index 3b5437d1..e81379bd 100644
--- a/src/fe-common/irc/fe-events-numeric.c
+++ b/src/fe-common/irc/fe-events-numeric.c
@@ -760,12 +760,19 @@ static void event_received(IRC_SERVER_REC *server, const char *data)
ptr = strchr(data, ' ');
if (ptr == NULL)
return;
+ ptr++;
/* param1 param2 ... :last parameter */
- args = g_strdup(ptr);
- ptr = strstr(args, " :");
- if (ptr != NULL)
- g_memmove(ptr+1, ptr+2, strlen(ptr+1));
+ if (*ptr == ':') {
+ /* only one parameter */
+ args = g_strdup(ptr+1);
+ } else {
+ args = g_strdup(ptr);
+ ptr = strstr(args, " :");
+ if (ptr != NULL)
+ g_memmove(ptr+1, ptr+2, strlen(ptr+1));
+ }
+
printtext(server, NULL, MSGLEVEL_CRAP, "%s", args);
g_free(args);
}