summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBerke Viktor <bviktor@hexchat.org>2012-10-07 13:27:44 +0200
committerBerke Viktor <bviktor@hexchat.org>2012-10-07 13:27:44 +0200
commit8df11c030c7f9e2a018817ba8b12e7b4c1b78042 (patch)
treebd56dd174b253eb31163d5f75970ebd66caa74e4
parent59f32ccb3a1f192c9faf8f51330db918c4ee3d46 (diff)
Fix Wikipedia URL detection - URLs inside parentheses won't work
-rw-r--r--src/common/url.c3
-rw-r--r--src/fe-gtk/xtext.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/src/common/url.c b/src/common/url.c
index 9b4751ae..3de99d1f 100644
--- a/src/common/url.c
+++ b/src/common/url.c
@@ -106,7 +106,8 @@ url_add (char *urltext, int len)
 		len--;
 		data[len] = 0;
 	}
-	if (data[len - 1] == ')')	/* chop trailing ) */
+	/* chop trailing ) but only if there's no counterpart */
+	if (data[len - 1] == ')' && strchr (data, '(') == NULL)
 		data[len - 1] = 0;
 
 	if (!url_tree)
diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c
index 585555b1..23fb0dff 100644
--- a/src/fe-gtk/xtext.c
+++ b/src/fe-gtk/xtext.c
@@ -84,9 +84,15 @@
 #endif
 
 /* is delimiter */
+#if 0
+/* () is used by Wikipedia */
 #define is_del(c) \
 	(c == ' ' || c == '\n' || c == ')' || c == '(' || \
 	 c == '>' || c == '<' || c == ATTR_RESET || c == ATTR_BOLD || c == 0)
+#endif
+#define is_del(c) \
+	(c == ' ' || c == '\n' || c == '>' || c == '<' || \
+	 c == ATTR_RESET || c == ATTR_BOLD || c == 0)
 
 #ifdef SCROLL_HACK
 /* force scrolling off */