diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 643894cf91..a4366f08b9 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2001-01-19 Dan Winship <danw@ximian.com> + + * 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. + 2001-01-19 Kjartan Maraas <kmaraas@gnome.org> * providers/smtp/camel-smtp-provider.c: Mark strings for translation. 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); |