--- a/mcabber/mcabber/commands.c Tue May 13 21:18:22 2014 +0400
+++ b/mcabber/mcabber/commands.c Wed May 14 10:47:56 2014 +0400
@@ -2935,16 +2935,30 @@
}
// If arg is "-", let's clear the topic
- if (!strcmp(arg, "-"))
+ if (!g_strcmp0(arg, "-"))
arg = NULL;
arg = to_utf8(arg);
// if arg is not NULL & option is set, unescape it
- if (arg && settings_opt_get_int("unescape_topic")) {
- gchar *tmp;
- tmp = g_strcompress(arg);
- g_free(arg);
- arg = tmp;
+ if (arg) {
+ char *unescaped_topic = NULL;
+
+ if (!strncmp(arg, "-u ", 3)) {
+ char *tmp;
+ tmp = g_strdup(arg + 3);
+ g_free(arg);
+ arg = tmp;
+ unescaped_topic = ut_unescape_tabs_cr(arg);
+ }
+
+ // We must not free() if the original string was returned
+ if (unescaped_topic == arg)
+ unescaped_topic = NULL;
+
+ if (unescaped_topic != NULL) {
+ free(arg);
+ arg = unescaped_topic;
+ }
}
// Set the topic
--- a/mcabber/mcabberrc.example Tue May 13 21:18:22 2014 +0400
+++ b/mcabber/mcabberrc.example Wed May 14 10:47:56 2014 +0400
@@ -497,12 +497,6 @@
# Values: 0: disable (default) 1: enable
#set show_room_occupants_count = 0
#
-# To enable C-escape sequences support in /room topic
-# set 'unescape_topic' to 1
-# \n - new line`
-# \t - tab character
-#set unescape_topic = 0
-#
# Set 'log_display_sender' to 1 to display the message sender's JID in the
# log window (default: 0, no)
#set log_display_sender = 0