diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/chat-commands.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/chat-commands.c b/src/core/chat-commands.c index ad9313ed..2749c5d5 100644 --- a/src/core/chat-commands.c +++ b/src/core/chat-commands.c @@ -364,10 +364,17 @@ static void cmd_msg(const char *data, SERVER_REC *server, WI_ITEM_REC *item) if (strcmp(target, ",") == 0 || strcmp(target, ".") == 0) { target = parse_special(&target, server, item, NULL, &free_ret, NULL, 0); - if (target != NULL && *target == '\0') + if (target != NULL && *target == '\0') { + if (free_ret) + g_free(target); target = NULL; + free_ret = FALSE; + } } + if (target == NULL) + target = origtarget; + if (strcmp(target, "*") == 0) { /* send to active channel/query */ if (item == NULL) |