Changeset 3692

Show
Ignore:
Timestamp:
06/05/08 17:25:16
Author:
pvanhoof
Message:
        • Separator fallbacks
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r3691 r3692  
    33        * Merging folder flags from LSUB 
    44        * Folders that are only in LSUB are flagged NoSelect automatically 
     5        * Separator fallbacks 
    56 
    672008-06-03  Sergio Villar Senin  <svillar@igalia.com> 
  • trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store-summary.c

    r3412 r3692  
    364364                                len++; 
    365365 
    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:'/'); 
    367367                        if (*ns->path) { 
    368368                                pathu8 = g_strdup_printf ("%s/%s", ns->path, prefix); 
  • trunk/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c

    r3691 r3692  
    33673367static CamelFolderInfo * 
    33683368parse_list_response_as_folder_info (CamelImapStore *imap_store, 
    3369                                     const char *response
     3369                                    const char *response, char alt_sep
    33703370{ 
    33713371        CamelFolderInfo *fi; 
     
    33813381        /* FIXME: should use imap_build_folder_info, note the differences with param setting tho */ 
    33823382 
    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); 
    33843387        g_free(dir); 
    33853388        if (si == NULL) 
     
    35133516                for (i = 0; i < response->untagged->len; i++) { 
    35143517                        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); 
    35163520 
    35173521                        if (fi) { 
     
    36933697                        for (i = 0; i < response->untagged->len; i++) { 
    36943698                                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); 
    36963701 
    36973702                                if (fi) { 
     
    37553760                        { 
    37563761                                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); 
    37583764 
    37593765                                if (fi) { 
     
    38463852        for (i = 0; i < response->untagged->len; i++) { 
    38473853                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); 
    38493856 
    38503857                hfi = g_hash_table_lookup(present, fi->full_name); 
     
    39433950                struct _namespaces *ns = imap_store->namespaces; 
    39443951                char delim = '.'; 
     3952                gboolean has_d = FALSE; 
    39453953 
    39463954                /* Asking LIST and LSUB recursively is fine for the personal  
     
    39573965                                (gboolean) ns->shared, ex); 
    39583966                        delim = ns->personal->delim; 
     3967                        has_d = TRUE; 
    39593968                } 
    39603969 
     
    39843993                if (imap_store->summary && camel_store_summary_count( (CamelStoreSummary*)imap_store->summary) == 0) { 
    39853994                        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); 
    39873997                        camel_folder_info_free(fi); 
    39883998                        g_free (str);