diff options
-rw-r--r-- | irc.h | 1 | ||||
-rw-r--r-- | irc_im.c | 4 | ||||
-rw-r--r-- | otr.c | 6 |
3 files changed, 8 insertions, 3 deletions
@@ -28,6 +28,7 @@ #define IRC_MAX_LINE 512 #define IRC_MAX_ARGS 16 +#define IRC_WORD_WRAP 425 #define IRC_LOGIN_TIMEOUT 60 #define IRC_PING_STRING "PinglBee" @@ -298,7 +298,7 @@ static gboolean bee_irc_user_msg(bee_t *bee, bee_user_t *bu, const char *msg_, g msg = s; } - wrapped = word_wrap(msg, 425); + wrapped = word_wrap(msg, IRC_WORD_WRAP); irc_send_msg(src_iu, message_type, dst, wrapped, prefix); g_free(wrapped); @@ -672,7 +672,7 @@ static gboolean bee_irc_chat_msg(bee_t *bee, struct groupchat *c, bee_user_t *bu ts = irc_format_timestamp(irc, sent_at); } - wrapped = word_wrap(msg, 425); + wrapped = word_wrap(msg, IRC_WORD_WRAP); irc_send_msg(iu, "PRIVMSG", ic->name, wrapped, ts); g_free(ts); g_free(wrapped); @@ -1399,6 +1399,7 @@ void log_otr_message(void *opdata, const char *fmt, ...) void display_otr_message(void *opdata, ConnContext *ctx, const char *fmt, ...) { + char *msg_, *msg; struct im_connection *ic = check_imc(opdata, ctx->accountname, ctx->protocol); irc_t *irc = ic->bee->ui_data; @@ -1406,9 +1407,11 @@ void display_otr_message(void *opdata, ConnContext *ctx, const char *fmt, ...) va_list va; va_start(va, fmt); - char *msg = g_strdup_vprintf(fmt, va); + msg_ = g_strdup_vprintf(fmt, va); va_end(va); + msg = word_wrap(msg_, IRC_WORD_WRAP); + if (u) { /* just show this as a regular message */ irc_usermsg(u, "<<\002OTR\002>> %s", msg); @@ -1416,6 +1419,7 @@ void display_otr_message(void *opdata, ConnContext *ctx, const char *fmt, ...) irc_rootmsg(irc, "[otr] %s", msg); } + g_free(msg_); g_free(msg); } |