[empathy] Escape URL itself along with the title (#616339)



commit 0c927779b5b37ba01bb710b86e21c55f35e7ad94
Author: Vitaly Minko <vitaly mink gmail com>
Date:   Tue Nov 2 10:08:15 2010 +0100

    Escape URL itself along with the title (#616339)

 libempathy-gtk/empathy-string-parser.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/libempathy-gtk/empathy-string-parser.c b/libempathy-gtk/empathy-string-parser.c
index 3bb6a82..5f5df52 100644
--- a/libempathy-gtk/empathy-string-parser.c
+++ b/libempathy-gtk/empathy-string-parser.c
@@ -161,20 +161,24 @@ empathy_string_replace_link (const gchar *text,
 {
 	GString *string = user_data;
 	gchar *real_url;
-	gchar *escaped;
+	gchar *title;
+	gchar *markup;
 
 	real_url = empathy_make_absolute_url_len (text, len);
 
-	/* The thing we are making a link of may contain
-	 * characters which need escaping */
-	escaped = g_markup_escape_text (text, len);
+	/* Need to copy manually, because g_markup_printf_escaped does not work
+	 * with string precision pitfalls. */
+	title = g_strndup (text, len);
 
 	/* Append the link inside <a href=""></a> tag */
-	g_string_append_printf (string, "<a href=\"%s\">%s</a>",
-				real_url, escaped);
+	markup = g_markup_printf_escaped ("<a href=\"%s\">%s</a>",
+			real_url, title);
+
+	g_string_append (string, markup);
 
 	g_free (real_url);
-	g_free (escaped);
+	g_free (title);
+	g_free (markup);
 }
 
 void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]