summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2003-10-03 14:38:32 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2003-10-03 14:38:32 +0000
commit37603f30cddc54002da03efd245b3cbc3c81c285 (patch)
tree4026d7c856ad070fd4c04cbc561240cac67784ac /net
parentUtilize ${DOCSDIR} and ${DATADIR}. (diff)
- Add patch for recoding actions in 8-bit terminals (obtained
from silc CVS) PR: 57537 Submitted by: maintainer
Notes
Notes: svn path=/head/; revision=90133
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,