+2005-07-06 [colin] 1.9.12cvs26
+
+ * src/imap.c
+ Try to use the correct separator in
+ most cases. Possibly fixes bug #759
+ (only creates the INBOX folder when
+ setting up new IMAP account) and
+ bug #760 (Can't retrieve messages)
+
2005-07-06 [colin] 1.9.12cvs25
* src/imap.c
( cvs diff -u -r 1.17.2.15 -r 1.17.2.16 src/alertpanel.c; cvs diff -u -r 1.382.2.140 -r 1.382.2.141 src/compose.c; cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/imap_gtk.c; cvs diff -u -r 1.2.2.7 -r 1.2.2.8 src/mh_gtk.c; ) > 1.9.12cvs23.patchset
( cvs diff -u -r 1.654.2.658 -r 1.654.2.659 configure.ac; cvs diff -u -r 1.61.2.27 -r 1.61.2.28 src/account.c; cvs diff -u -r 1.213.2.39 -r 1.213.2.40 src/folder.c; cvs diff -u -r 1.179.2.47 -r 1.179.2.48 src/imap.c; cvs diff -u -r 1.96.2.59 -r 1.96.2.60 src/textview.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/etpan/etpan-log.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/etpan/etpan-thread-manager.c; cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/etpan/imap-thread.c; cvs diff -u -r 1.4.2.12 -r 1.4.2.13 src/gtk/about.c; ) > 1.9.12cvs24.patchset
( cvs diff -u -r 1.179.2.48 -r 1.179.2.49 src/imap.c; ) > 1.9.12cvs25.patchset
+( cvs diff -u -r 1.179.2.49 -r 1.179.2.50 src/imap.c; ) > 1.9.12cvs26.patchset
return NULL;
}
+
static gchar imap_get_path_separator(IMAPFolder *folder, const gchar *path)
{
IMAPNameSpace *namespace;
gchar separator = '/';
+ static gchar last_seen_separator = 0;
+
+ if (last_seen_separator == 0) {
+ clist * lep_list;
+ int r = imap_threaded_list((Folder *)folder, "", "", &lep_list);
+ if (r != MAILIMAP_NO_ERROR) {
+ log_warning(_("LIST failed\n"));
+ return '/';
+ }
+
+ if (clist_count(lep_list) > 0) {
+ clistiter * iter = clist_begin(lep_list);
+ struct mailimap_mailbox_list * mb;
+ mb = clist_content(iter);
+
+ last_seen_separator = mb->mb_delimiter;
+ debug_print("got separator: %c\n", last_seen_separator);
+ }
+ mailimap_list_result_free(lep_list);
+ }
+
+ if (last_seen_separator != 0) {
+ debug_print("using separator: %c\n", last_seen_separator);
+ return last_seen_separator;
+ }
namespace = imap_find_namespace(folder, path);
if (namespace && namespace->separator)