aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-02-22 01:20:00 +0800
committerDan Winship <danw@src.gnome.org>2001-02-22 01:20:00 +0800
commit782a42ee7d5ee47607d742a3201715e4201f2e3a (patch)
treecfef245c6392fd12af5284e896153961e2f8b307 /camel/providers
parenta0551cb532c4f4b530bf237a5d2984959ad33c6d (diff)
downloadgsoc2013-evolution-782a42ee7d5ee47607d742a3201715e4201f2e3a.tar
gsoc2013-evolution-782a42ee7d5ee47607d742a3201715e4201f2e3a.tar.gz
gsoc2013-evolution-782a42ee7d5ee47607d742a3201715e4201f2e3a.tar.bz2
gsoc2013-evolution-782a42ee7d5ee47607d742a3201715e4201f2e3a.tar.lz
gsoc2013-evolution-782a42ee7d5ee47607d742a3201715e4201f2e3a.tar.xz
gsoc2013-evolution-782a42ee7d5ee47607d742a3201715e4201f2e3a.tar.zst
gsoc2013-evolution-782a42ee7d5ee47607d742a3201715e4201f2e3a.zip
Fixes for IMAP4-pre-rev1 from Torsten Schulz.
* providers/imap/camel-imap-folder.c (fetch_medium): Fixes for IMAP4-pre-rev1 from Torsten Schulz. svn path=/trunk/; revision=8318
Diffstat (limited to 'camel/providers')
-rw-r--r--camel/providers/imap/camel-imap-folder.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 8852b1f292..87807bcbe5 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -679,7 +679,8 @@ fetch_medium (CamelFolder *folder, const char *uid, const char *section_text,
CAMEL_IMAP_STORE_LOCK (store, command_lock);
if (store->server_level < IMAP_LEVEL_IMAP4REV1 && !*section_text) {
response = camel_imap_command (store, folder, ex,
- "UID FETCH %s RFC822.PEEK");
+ "UID FETCH %s RFC822.PEEK",
+ uid);
} else {
response = camel_imap_command (store, folder, ex,
"UID FETCH %s BODY.PEEK[%s]",
@@ -694,7 +695,12 @@ fetch_medium (CamelFolder *folder, const char *uid, const char *section_text,
if (!result)
return NULL;
- p = e_strstrcase (result, "BODY");
+
+ if (store->server_level < IMAP_LEVEL_IMAP4REV1 && !*section_text)
+ p = e_strstrcase (result, "RFC822");
+ else
+ p = e_strstrcase (result, "BODY");
+
if (p)
medium = parse_headers (&p, type);
else {