summaryrefslogtreecommitdiffstats
path: root/irc
diff options
context:
space:
mode:
authorvanilla <vanilla@FreeBSD.org>2006-09-25 08:29:18 +0000
committervanilla <vanilla@FreeBSD.org>2006-09-25 08:29:18 +0000
commit7b2ce92409d1d4ee0fbd4cb292965d0c01fbd19a (patch)
treed71a0ea4b95b2de86867d8c5b192f2fe999838f6 /irc
parent35820f2a6266ccacb1e483c69c959d65256a4c8b (diff)
downloadFreeBSD-ports-7b2ce92409d1d4ee0fbd4cb292965d0c01fbd19a.zip
FreeBSD-ports-7b2ce92409d1d4ee0fbd4cb292965d0c01fbd19a.tar.gz
When irssi displays a overlong topic with wide (width > 1) character on the
display margin, it will truncate AFTER that character. That is, the whole wide character is outputted and mess up the screen. This patch fixes the problem by truncating BEFORE wide characters that fall on the display margin. PR: ports/103597 Submitted by: Yi-Hsuan Hsin <mhsin_at_mhsin_dot_org>
Diffstat (limited to 'irc')
-rw-r--r--irc/irssi/Makefile2
-rw-r--r--irc/irssi/files/patch-topic_length41
2 files changed, 42 insertions, 1 deletions
diff --git a/irc/irssi/Makefile b/irc/irssi/Makefile
index 5f19320..9401141 100644
--- a/irc/irssi/Makefile
+++ b/irc/irssi/Makefile
@@ -7,7 +7,7 @@
PORTNAME= irssi
PORTVERSION= 0.8.10
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES?= irc
MASTER_SITES= http://mirror.irssi.org/
diff --git a/irc/irssi/files/patch-topic_length b/irc/irssi/files/patch-topic_length
new file mode 100644
index 0000000..22d3785
--- /dev/null
+++ b/irc/irssi/files/patch-topic_length
@@ -0,0 +1,41 @@
+--- src/fe-common/core/formats.c.orig Fri Dec 9 01:32:44 2005
++++ src/fe-common/core/formats.c Mon Sep 25 06:15:26 2006
+@@ -376,6 +376,7 @@
+ GString *tmp;
+ const char *start;
+ #ifdef HAVE_GLIB2
++ const char *oldstr;
+ gboolean utf8;
+ #endif
+ g_return_val_if_fail(str != NULL, 0);
+@@ -404,7 +405,10 @@
+ }
+
+ #ifdef HAVE_GLIB2
++ oldstr = str;
+ len -= advance(&str, utf8);
++ if(len < 0)
++ str = oldstr;
+ #else
+ len--;
+ str++;
+--- src/fe-text/statusbar.c.orig Fri Dec 9 01:32:46 2005
++++ src/fe-text/statusbar.c Mon Sep 25 10:15:25 2006
+@@ -732,7 +732,8 @@
+ /* they're forcing us smaller than minimum size.. */
+ len = format_real_length(tmpstr, item->size);
+ tmpstr[len] = '\0';
+- } else {
++ }
++
+ /* make sure the str is big enough to fill the
+ requested size, so it won't corrupt screen */
+ len = format_get_length(tmpstr);
+@@ -747,7 +748,6 @@
+ g_free(fill);
+ g_free(tmpstr);
+ tmpstr = tmpstr2;
+- }
+ }
+
+ tmpstr2 = update_statusbar_bg(tmpstr, item->bar->color);
OpenPOWER on IntegriCloud