changeset 8918:c34e4e6128f3

[gaim-migrate @ 9688] (23:32:19) LSchiere: marv: should i just apply that patch you sent me? (23:33:03) marv: LSchiere: well it doesn't seem to break anything. I *think* it'll fix the problem. as long as we're not releasing tomorrow, sure committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 12 May 2004 03:38:48 +0000
parents 189ee7356c59
children f37992e86e66
files ChangeLog src/util.c
diffstat 2 files changed, 20 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue May 11 19:27:23 2004 +0000
+++ b/ChangeLog	Wed May 12 03:38:48 2004 +0000
@@ -29,6 +29,7 @@
 	* Zephyr works on 64 bit machines (Arun A Tharuvai)
 	* Print Gadu-Gadu messages to the debug window instead of the console
 	* New tabs should scroll correctly again (Tim Ringenbach)
+	* Ampersands in links should work right (Tim Ringenbach)
 
 	Preference Changes:
 	* Added a "none" smiley theme to replace the "Show graphical
--- a/src/util.c	Tue May 11 19:27:23 2004 +0000
+++ b/src/util.c	Wed May 12 03:38:48 2004 +0000
@@ -1247,7 +1247,7 @@
 gaim_markup_linkify(const char *text)
 {
 	const char *c, *t, *q = NULL;
-	char *tmp;
+	char *tmp, *tmpurlbuf;
 	char url_buf[BUF_LEN * 4];
 	gboolean inside_html = FALSE;
 	GString *ret = g_string_new("");
@@ -1291,8 +1291,10 @@
 						t--;
 					strncpy(url_buf, c, t - c);
 					url_buf[t - c] = 0;
+					tmpurlbuf = gaim_unescape_html(url_buf);
 					g_string_append_printf(ret, "<A HREF=\"%s\">%s</A>",
-							url_buf, url_buf);
+							tmpurlbuf, url_buf);
+					g_free(tmpurlbuf);
 					c = t;
 					break;
 				}
@@ -1319,9 +1321,11 @@
 							t--;
 						strncpy(url_buf, c, t - c);
 						url_buf[t - c] = 0;
+						tmpurlbuf = gaim_unescape_html(url_buf);
 						g_string_append_printf(ret,
-								"<A HREF=\"http://%s\">%s</A>", url_buf,
+								"<A HREF=\"http://%s\">%s</A>", tmpurlbuf,
 								url_buf);
+						g_free(tmpurlbuf);
 						c = t;
 						break;
 					}
@@ -1338,8 +1342,10 @@
 						t--;
 					strncpy(url_buf, c, t - c);
 					url_buf[t - c] = 0;
+					tmpurlbuf = gaim_unescape_html(url_buf);
 					g_string_append_printf(ret, "<A HREF=\"%s\">%s</A>",
-							url_buf, url_buf);
+							tmpurlbuf, url_buf);
+					g_free(tmpurlbuf);
 					c = t;
 					break;
 				}
@@ -1360,9 +1366,11 @@
 							t--;
 						strncpy(url_buf, c, t - c);
 						url_buf[t - c] = 0;
+						tmpurlbuf = gaim_unescape_html(url_buf);
 						g_string_append_printf(ret,
-								"<A HREF=\"ftp://%s\">%s</A>", url_buf,
+								"<A HREF=\"ftp://%s\">%s</A>", tmpurlbuf,
 								url_buf);
+						g_free(tmpurlbuf);
 						c = t;
 						break;
 					}
@@ -1379,8 +1387,10 @@
 						t--;
 					strncpy(url_buf, c, t - c);
 					url_buf[t - c] = 0;
+					tmpurlbuf = gaim_unescape_html(url_buf);
 					g_string_append_printf(ret, "<A HREF=\"%s\">%s</A>",
-							  url_buf, url_buf);
+							  tmpurlbuf, url_buf);
+					g_free(tmpurlbuf);
 					c = t;
 					break;
 				}
@@ -1432,8 +1442,10 @@
 					for (d = url_buf + strlen(url_buf) - 1; *d == '.'; d--, t--)
 						*d = '\0';
 
+					tmpurlbuf = gaim_unescape_html(url_buf);
 					g_string_append_printf(ret, "<A HREF=\"mailto:%s\">%s</A>",
-							url_buf, url_buf);
+							tmpurlbuf, url_buf);
+					g_free(tmpurlbuf);
 					c = t;
 
 					break;