aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorkrion <krion@FreeBSD.org>2003-10-03 22:38:32 +0800
committerkrion <krion@FreeBSD.org>2003-10-03 22:38:32 +0800
commitd607a92106a300ae4b396363e5552ae5370c0115 (patch)
tree73cd0d406fcae1e78b09a759022d0bc3381cf98c /net
parent0c719037fc3582aa76814210161540107bebbbda (diff)
downloadfreebsd-ports-gnome-d607a92106a300ae4b396363e5552ae5370c0115.tar.gz
freebsd-ports-gnome-d607a92106a300ae4b396363e5552ae5370c0115.tar.zst
freebsd-ports-gnome-d607a92106a300ae4b396363e5552ae5370c0115.zip
- Add patch for recoding actions in 8-bit terminals (obtained
from silc CVS) PR: 57537 Submitted by: maintainer
Diffstat (limited to 'net')
-rw-r--r--net/silc-client/files/patch-irssi-src-silc-core-client_ops.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/net/silc-client/files/patch-irssi-src-silc-core-client_ops.c b/net/silc-client/files/patch-irssi-src-silc-core-client_ops.c
new file mode 100644
index 000000000000..94da3d68796d
--- /dev/null
+++ b/net/silc-client/files/patch-irssi-src-silc-core-client_ops.c
@@ -0,0 +1,33 @@
+diff --unified --recursive silc-client-0.9.10.1/irssi/src/silc/core/client_ops.c silc-client-0.9.10.1.db/irssi/src/silc/core/client_ops.c
+--- irssi/src/silc/core/client_ops.c.orig Thu Dec 5 15:37:49 2002
++++ irssi/src/silc/core/client_ops.c Tue Sep 9 18:41:57 2003
+@@ -312,9 +312,26 @@
+ /* FIXME: replace those printformat calls with signals and add signature
+ information to them (if present) */
+ if (flags & SILC_MESSAGE_FLAG_ACTION)
+- printformat_module("fe-common/silc", server, channel->channel_name,
+- MSGLEVEL_ACTIONS, SILCTXT_CHANNEL_ACTION,
+- nick == NULL ? "[<unknown>]" : nick->nick, message);
++ if(flags & SILC_MESSAGE_FLAG_UTF8 && !silc_term_utf8()) {
++ char tmp[256], *cp, *dm = NULL;
++ memset(tmp, 0, sizeof(tmp));
++ cp = tmp;
++ if(message_len > sizeof(tmp) - 1) {
++ dm = silc_calloc(message_len + 1, sizeof(*dm));
++ cp = dm;
++ }
++ silc_utf8_decode(message, message_len, SILC_STRING_LANGUAGE,
++ cp, message_len);
++ printformat_module("fe-common/silc", server, channel->channel_name,
++ MSGLEVEL_ACTIONS, SILCTXT_CHANNEL_ACTION,
++ nick == NULL ? "[<unknown>]" : nick->nick, cp);
++ silc_free(dm);
++ } else {
++ printformat_module("fe-common/silc", server, channel->channel_name,
++ MSGLEVEL_ACTIONS, SILCTXT_CHANNEL_ACTION,
++ nick == NULL ? "[<unknown>]" : nick->nick,
++ message);
++ }
+ else if (flags & SILC_MESSAGE_FLAG_NOTICE)
+ printformat_module("fe-common/silc", server, channel->channel_name,
+ MSGLEVEL_NOTICES, SILCTXT_CHANNEL_NOTICE,