summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/chat-commands.c9
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)