aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2012-10-18 23:56:52 +0800
committerMilan Crha <mcrha@redhat.com>2012-10-19 00:00:09 +0800
commitb3ec9c8c2f6d4711b1fbd710891de01ab81500b6 (patch)
treeb41b4daec43481107eb05c8b1c226f787c553283
parentf1360e5f84e5f6ae30cd0c23ae6360124502ecac (diff)
downloadgsoc2013-evolution-b3ec9c8c2f6d4711b1fbd710891de01ab81500b6.tar
gsoc2013-evolution-b3ec9c8c2f6d4711b1fbd710891de01ab81500b6.tar.gz
gsoc2013-evolution-b3ec9c8c2f6d4711b1fbd710891de01ab81500b6.tar.bz2
gsoc2013-evolution-b3ec9c8c2f6d4711b1fbd710891de01ab81500b6.tar.lz
gsoc2013-evolution-b3ec9c8c2f6d4711b1fbd710891de01ab81500b6.tar.xz
gsoc2013-evolution-b3ec9c8c2f6d4711b1fbd710891de01ab81500b6.tar.zst
gsoc2013-evolution-b3ec9c8c2f6d4711b1fbd710891de01ab81500b6.zip
Encode also message_uid in e_mail_part_build_uri()
This reverts commit 7050a1286825, which broke opening of IMAP message. It's also the correct solution for the initial issue, because the message_uid can contain letters which should be encoded in the URI.
-rw-r--r--em-format/e-mail-part-utils.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/em-format/e-mail-part-utils.c b/em-format/e-mail-part-utils.c
index 0d96d56085..9c7c91301f 100644
--- a/em-format/e-mail-part-utils.c
+++ b/em-format/e-mail-part-utils.c
@@ -358,7 +358,7 @@ e_mail_part_animation_extract_frame (const GByteArray *anim,
/**
* e_mail_part_build_url:
* @folder: (allow-none) a #CamelFolder with the message or %NULL
- * @message_uid: (allow-none) uid of the message within the @folder or %NULL
+ * @message_uid: uid of the message within the @folder
* @first_param_name: Name of first query parameter followed by GType of it's value and value
* terminated by %NULL.
*
@@ -380,6 +380,7 @@ e_mail_part_build_uri (CamelFolder *folder,
va_list ap;
const gchar *name;
const gchar *service_uid, *folder_name;
+ gchar *encoded_message_uid;
gchar separator;
g_return_val_if_fail (message_uid && *message_uid, NULL);
@@ -397,10 +398,12 @@ e_mail_part_build_uri (CamelFolder *folder,
service_uid = "generic";
}
+ encoded_message_uid = soup_uri_encode (message_uid, NULL);
tmp = g_strdup_printf ("mail://%s/%s/%s",
service_uid,
folder_name,
- message_uid);
+ encoded_message_uid);
+ g_free (encoded_message_uid);
if (folder) {
g_free ((gchar *) folder_name);