Re: [Evolution] courier imap sort-of-fix



Does this patch work for you? If so, I'm going to apply it to the 0.6
branch, but not the mainline, since this will be fixed differently
(and without needing access to CamelImapStore internals) by 0.7.

Index: mail-tools.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/mail-tools.c,v
retrieving revision 1.26
diff -u -r1.26 mail-tools.c
--- mail-tools.c        2000/10/12 13:48:36     1.26
+++ mail-tools.c        2000/10/18 17:02:50
@@ -29,6 +29,7 @@
 #include <errno.h>
 #include "camel/camel.h"
 #include "camel/providers/vee/camel-vee-folder.h"
+#include "camel/providers/imap/camel-imap-store.h"
 #include "mail-vfolder.h"
 #include "filter/vfolder-rule.h"
 #include "filter/vfolder-context.h"
@@ -489,6 +490,7 @@
                folder = vfolder_uri_to_folder (uri, ex);
        } else if (!strncmp (uri, "imap:", 5)) {
                char *service, *ptr;
+               CamelImapStore *imap_store;
                
                service = g_strdup_printf ("%s/", uri);
                for (ptr = service + 7; *ptr && *ptr != '/'; ptr++);
@@ -497,6 +499,7 @@
                
                mail_tool_camel_lock_up ();
                store = camel_session_get_store (session, service, ex);
+               imap_store = (CamelImapStore *)store;
                g_free (service);
                if (store) {
                        CamelURL *url = CAMEL_SERVICE (store)->url;
@@ -504,17 +507,11 @@
                        
                        for (ptr = (char *)(uri + 7); *ptr && *ptr != '/'; ptr++);
                        if (*ptr == '/') {
-                               if (url && url->path) {
+                               if (url && url->path)
                                        ptr += strlen (url->path);
-                                       printf ("ptr = %s\n", ptr);
-                                       if (*ptr == '/')
-                                               ptr++;
-                               }
-                               
-                               if (*ptr == '/')
+                               if (*ptr == *imap_store->dir_sep)
                                        ptr++;
-                               /*for ( ; *ptr && *ptr == '/'; ptr++);*/
-                               
+
                                folder_uri = g_strdup (ptr);                            
                                folder = camel_store_get_folder (store, folder_uri, TRUE, ex);
                                g_free (folder_uri);




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]