From d8d47ef37f6efb290472ae587cefa3df22bd92dc Mon Sep 17 00:00:00 2001 From: Valentin Batz Date: Wed, 12 Oct 2005 18:22:14 +0000 Subject: fixed recoding of own messages. recode after expand_emphasis remove the redundant call to setlocale(LC_CTYPE, ) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4038 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/fe-common/core/fe-messages.c | 12 +++++++----- src/fe-common/irc/fe-irc-messages.c | 9 +++++---- src/fe-text/irssi.c | 9 ++++----- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c index b91f2cf4..3080b99c 100644 --- a/src/fe-common/core/fe-messages.c +++ b/src/fe-common/core/fe-messages.c @@ -259,8 +259,6 @@ static void sig_message_own_public(SERVER_REC *server, const char *msg, const char *nickmode; char *freemsg = NULL, *recoded; int print_channel; - /* ugly: recode the sent message back for printing */ - recoded = recode_in(server, msg, target); channel = channel_find(server, target); if (channel != NULL) target = channel->visible_name; @@ -280,6 +278,9 @@ static void sig_message_own_public(SERVER_REC *server, const char *msg, if (settings_get_bool("emphasis")) msg = freemsg = expand_emphasis((WI_ITEM_REC *) channel, msg); + /* ugly: recode the sent message back for printing */ + recoded = recode_in(server, msg, target); + if (!print_channel) { printformat(server, target, MSGLEVEL_PUBLIC | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT, TXT_OWN_MSG, server->nick, recoded, nickmode); @@ -316,15 +317,16 @@ static void sig_message_own_private(SERVER_REC *server, const char *msg, query = privmsg_get_query(server, target, TRUE, MSGLEVEL_MSGS); + if (settings_get_bool("emphasis")) + msg = freemsg = expand_emphasis((WI_ITEM_REC *) query, msg); + /* ugly: recode the sent message back for printing */ recoded = recode_in(server, msg, target); - if (settings_get_bool("emphasis")) - msg = freemsg = expand_emphasis((WI_ITEM_REC *) query, recoded); printformat(server, target, MSGLEVEL_MSGS | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT, query == NULL ? TXT_OWN_MSG_PRIVATE : - TXT_OWN_MSG_PRIVATE_QUERY, target, msg, server->nick); + TXT_OWN_MSG_PRIVATE_QUERY, target, recoded, server->nick); g_free(recoded); g_free_not_null(freemsg); diff --git a/src/fe-common/irc/fe-irc-messages.c b/src/fe-common/irc/fe-irc-messages.c index 253975da..6e14e8e5 100644 --- a/src/fe-common/irc/fe-irc-messages.c +++ b/src/fe-common/irc/fe-irc-messages.c @@ -111,7 +111,7 @@ static void sig_message_own_wall(SERVER_REC *server, const char *msg, MSGLEVEL_PUBLIC | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT, TXT_OWN_MSG_CHANNEL, - server->nick, optarget, msg, nickmode); + server->nick, optarget, recoded, nickmode); g_free(recoded); g_free(optarget); } @@ -127,16 +127,17 @@ static void sig_message_own_action(IRC_SERVER_REC *server, const char *msg, else item = irc_query_find(server, target); + if (settings_get_bool("emphasis")) + msg = freemsg = expand_emphasis(item, msg); + /* ugly: recode the sent message back for printing */ recoded = recode_in(SERVER(server), msg, target); - if (settings_get_bool("emphasis")) - msg = freemsg = expand_emphasis(item, recoded); printformat(server, target, MSGLEVEL_ACTIONS | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT | (ischannel(*target) ? MSGLEVEL_PUBLIC : MSGLEVEL_MSGS), item != NULL ? IRCTXT_OWN_ACTION : IRCTXT_OWN_ACTION_TARGET, - server->nick, msg, target); + server->nick, recoded, target); g_free(recoded); g_free_not_null(freemsg); } diff --git a/src/fe-text/irssi.c b/src/fe-text/irssi.c index 3515fc57..e685608f 100644 --- a/src/fe-text/irssi.c +++ b/src/fe-text/irssi.c @@ -359,13 +359,12 @@ int main(int argc, char **argv) before t his call. locales aren't actually used for anything else than autodetection - of UTF-8 currently.. */ - setlocale(LC_CTYPE, ""); + of UTF-8 currently.. - /* to get the users's charset with g_get_charset() properly you have - to call setlocale(LC_ALL, "") aswell */ + furthermore to get the users's charset with g_get_charset() properly + you have to call setlocale(LC_ALL, "") */ setlocale(LC_ALL, ""); - + textui_init(); args_register(options); args_execute(argc, argv); -- cgit v1.2.3