summaryrefslogtreecommitdiff
path: root/src/fe-common/irc/fe-ctcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-common/irc/fe-ctcp.c')
-rw-r--r--src/fe-common/irc/fe-ctcp.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/fe-common/irc/fe-ctcp.c b/src/fe-common/irc/fe-ctcp.c
index 6d469ba1..ffb5ae62 100644
--- a/src/fe-common/irc/fe-ctcp.c
+++ b/src/fe-common/irc/fe-ctcp.c
@@ -67,17 +67,23 @@ static void ctcp_time_msg(const char *data, IRC_SERVER_REC *server, const char *
static void ctcp_default_reply(const char *data, IRC_SERVER_REC *server, const char *nick, const char *addr, const char *target)
{
- char *ptr, *str;
+ const char *ctcpdata;
+ char *ctcp, *ptr;
g_return_if_fail(data != NULL);
- str = g_strdup(data);
- ptr = strchr(str, ' ');
- if (ptr != NULL) *ptr++ = '\0'; else ptr = "";
+ ctcp = g_strdup(data);
+ ptr = strchr(ctcp, ' ');
+ if (ptr == NULL)
+ ctcpdata = "";
+ else {
+ *ptr = '\0';
+ ctcpdata = ptr+1;
+ }
printformat(server, ischannel(*target) ? target : nick, MSGLEVEL_CTCPS,
- ischannel(*target) ? IRCTXT_CTCP_REPLY_CHANNEL : IRCTXT_CTCP_REPLY, str, nick, ptr, target);
- g_free(str);
+ ischannel(*target) ? IRCTXT_CTCP_REPLY_CHANNEL : IRCTXT_CTCP_REPLY, ctcp, nick, ctcpdata, target);
+ g_free(ctcp);
}
static void ctcp_ping_reply(const char *data, IRC_SERVER_REC *server, const char *nick, const char *addr, const char *target)