evolution r36834 - trunk/composer



Author: mbarnes
Date: Fri Dec  5 04:22:08 2008
New Revision: 36834
URL: http://svn.gnome.org/viewvc/evolution?rev=36834&view=rev

Log:
2008-12-04  Matthew Barnes  <mbarnes redhat com>

	** Fixes bug #562886

	* composer/e-msg-composer (handle_mailto):
	Don't double-decode attachment URIs.  Also, parse &amp; correctly.



Modified:
   trunk/composer/ChangeLog
   trunk/composer/e-msg-composer.c

Modified: trunk/composer/e-msg-composer.c
==============================================================================
--- trunk/composer/e-msg-composer.c	(original)
+++ trunk/composer/e-msg-composer.c	Fri Dec  5 04:22:08 2008
@@ -3862,16 +3862,19 @@
 			clen = strcspn (p, "&");
 
 			content = g_strndup (p, clen);
-			camel_url_decode (content);
 
 			if (!g_ascii_strcasecmp (header, "to")) {
+				camel_url_decode (content);
 				to = add_recipients (to, content);
 			} else if (!g_ascii_strcasecmp (header, "cc")) {
+				camel_url_decode (content);
 				cc = add_recipients (cc, content);
 			} else if (!g_ascii_strcasecmp (header, "bcc")) {
+				camel_url_decode (content);
 				bcc = add_recipients (bcc, content);
 			} else if (!g_ascii_strcasecmp (header, "subject")) {
 				g_free (subject);
+				camel_url_decode (content);
 				if (g_utf8_validate (content, -1, NULL)) {
 					subject = content;
 					content = NULL;
@@ -3885,6 +3888,7 @@
 				}
 			} else if (!g_ascii_strcasecmp (header, "body")) {
 				g_free (body);
+				camel_url_decode (content);
 				if (g_utf8_validate (content, -1, NULL)) {
 					body = content;
 					content = NULL;
@@ -3918,6 +3922,7 @@
 				/* ignore */
 			} else {
 				/* add an arbitrary header? */
+				camel_url_decode (content);
 				e_msg_composer_add_header (composer, header, content);
 			}
 
@@ -3926,7 +3931,7 @@
 			p += clen;
 			if (*p == '&') {
 				p++;
-				if (!strcmp (p, "amp;"))
+				if (!g_ascii_strncasecmp (p, "amp;", 4))
 					p += 4;
 			}
 		}



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