aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-01-20 04:16:29 +0800
committerDan Winship <danw@src.gnome.org>2001-01-20 04:16:29 +0800
commit60baa4ad9052807f3d45840ea3b1b65ab64dabee (patch)
treecbf6f7cb12a490e785d54bc7d8c3f27fa9754b37 /camel/providers/imap
parent62a2dc7c2e5c5a11184ac23fc626aa22f499ab03 (diff)
downloadgsoc2013-evolution-60baa4ad9052807f3d45840ea3b1b65ab64dabee.tar
gsoc2013-evolution-60baa4ad9052807f3d45840ea3b1b65ab64dabee.tar.gz
gsoc2013-evolution-60baa4ad9052807f3d45840ea3b1b65ab64dabee.tar.bz2
gsoc2013-evolution-60baa4ad9052807f3d45840ea3b1b65ab64dabee.tar.lz
gsoc2013-evolution-60baa4ad9052807f3d45840ea3b1b65ab64dabee.tar.xz
gsoc2013-evolution-60baa4ad9052807f3d45840ea3b1b65ab64dabee.tar.zst
gsoc2013-evolution-60baa4ad9052807f3d45840ea3b1b65ab64dabee.zip
If LISTing a subscribed folder doesn't return a LIST response, just ignore
* providers/imap/camel-imap-store.c (get_subscribed_folders_by_hand): If LISTing a subscribed folder doesn't return a LIST response, just ignore that folder. Yay RFC2060. svn path=/trunk/; revision=7650
Diffstat (limited to 'camel/providers/imap')
-rw-r--r--camel/providers/imap/camel-imap-store.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index dd0ba72964..0ed99e8f8c 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -735,10 +735,13 @@ get_subscribed_folders_by_hand (CamelImapStore *imap_store, const char *top,
g_ptr_array_free (names, TRUE);
return;
}
- result = camel_imap_response_extract (response, "LIST", ex);
+ result = camel_imap_response_extract (response, "LIST", NULL);
if (!result) {
- g_ptr_array_free (names, TRUE);
- return;
+ g_hash_table_remove (imap_store->subscribed_folders,
+ names->pdata[i]);
+ g_free (names->pdata[i]);
+ g_ptr_array_remove_index_fast (names, i--);
+ continue;
}
fi = parse_list_response_as_folder_info (imap_store, result);