Changeset 3692
- Timestamp:
- 06/05/08 17:25:16
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r3691 r3692 3 3 * Merging folder flags from LSUB 4 4 * Folders that are only in LSUB are flagged NoSelect automatically 5 * Separator fallbacks 5 6 6 7 2008-06-03 Sergio Villar Senin <svillar@igalia.com> trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store-summary.c
r3412 r3692 364 364 len++; 365 365 366 prefix = camel_imap_store_summary_full_to_path(s, full_name+len, ns->sep?ns->sep:dir_sep);366 prefix = camel_imap_store_summary_full_to_path(s, full_name+len, dir_sep?dir_sep:ns->sep?ns->sep:'/'); 367 367 if (*ns->path) { 368 368 pathu8 = g_strdup_printf ("%s/%s", ns->path, prefix); trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c
r3691 r3692 3367 3367 static CamelFolderInfo * 3368 3368 parse_list_response_as_folder_info (CamelImapStore *imap_store, 3369 const char *response )3369 const char *response, char alt_sep) 3370 3370 { 3371 3371 CamelFolderInfo *fi; … … 3381 3381 /* FIXME: should use imap_build_folder_info, note the differences with param setting tho */ 3382 3382 3383 si = camel_imap_store_summary_add_from_full(imap_store->summary, dir, sep?sep:'/'); 3383 if (!imap_store->dir_sep && sep) 3384 imap_store->dir_sep = sep; 3385 3386 si = camel_imap_store_summary_add_from_full(imap_store->summary, dir, sep?sep:alt_sep); 3384 3387 g_free(dir); 3385 3388 if (si == NULL) … … 3513 3516 for (i = 0; i < response->untagged->len; i++) { 3514 3517 list = response->untagged->pdata[i]; 3515 fi = parse_list_response_as_folder_info (imap_store, list); 3518 fi = parse_list_response_as_folder_info (imap_store, list, 3519 imap_store->dir_sep); 3516 3520 3517 3521 if (fi) { … … 3693 3697 for (i = 0; i < response->untagged->len; i++) { 3694 3698 list = response->untagged->pdata[i]; 3695 fi = parse_list_response_as_folder_info (imap_store, list); 3699 fi = parse_list_response_as_folder_info (imap_store, list, 3700 namespace->delim?namespace->delim:0); 3696 3701 3697 3702 if (fi) { … … 3755 3760 { 3756 3761 list = response->untagged->pdata[i]; 3757 fi = parse_list_response_as_folder_info (imap_store, list); 3762 fi = parse_list_response_as_folder_info (imap_store, list, 3763 namespace->delim?namespace->delim:0); 3758 3764 3759 3765 if (fi) { … … 3846 3852 for (i = 0; i < response->untagged->len; i++) { 3847 3853 list = response->untagged->pdata[i]; 3848 fi = parse_list_response_as_folder_info (imap_store, list); 3854 fi = parse_list_response_as_folder_info (imap_store, list, 3855 namespace->delim?namespace->delim:0); 3849 3856 3850 3857 hfi = g_hash_table_lookup(present, fi->full_name); … … 3943 3950 struct _namespaces *ns = imap_store->namespaces; 3944 3951 char delim = '.'; 3952 gboolean has_d = FALSE; 3945 3953 3946 3954 /* Asking LIST and LSUB recursively is fine for the personal … … 3957 3965 (gboolean) ns->shared, ex); 3958 3966 delim = ns->personal->delim; 3967 has_d = TRUE; 3959 3968 } 3960 3969 … … 3984 3993 if (imap_store->summary && camel_store_summary_count( (CamelStoreSummary*)imap_store->summary) == 0) { 3985 3994 gchar *str = g_strdup_printf ("* LIST () \"%c\" \"INBOX\"", delim); 3986 CamelFolderInfo *fi = parse_list_response_as_folder_info (imap_store, str); 3995 CamelFolderInfo *fi = parse_list_response_as_folder_info (imap_store, str, 3996 has_d?delim:imap_store->dir_sep?imap_store->dir_sep:0); 3987 3997 camel_folder_info_free(fi); 3988 3998 g_free (str);
