diff options
-rw-r--r-- | camel/ChangeLog | 11 | ||||
-rw-r--r-- | camel/providers/local/camel-local-store.c | 5 | ||||
-rw-r--r-- | camel/providers/local/camel-maildir-store.c | 6 | ||||
-rw-r--r-- | camel/providers/local/camel-mbox-store.c | 3 | ||||
-rw-r--r-- | camel/providers/local/camel-mh-store.c | 6 |
5 files changed, 14 insertions, 17 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 70ec3e243e..9242a0f964 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,12 +1,9 @@ -2002-07-26 Peter Williams <peterw@ximian.com> +2002-07-26 Jeffrey Stedfast <fejj@ximian.com> - * providers/imap/camel-imap-summary.c - (camel_imap_summary_add_offline_uncached): The flags'n'tags - copy was unnecessary. Removed it. + * providers/local/camel-local-store.c (get_folder): If the path + exists and is a directory, return non-NULL. Missed this before + which is how we could return NULL even on success. Oops. - * Revert Jeff's previous change, it broke local - folders. Uninitialized exceptions or something. - 2002-07-25 Jeffrey Stedfast <fejj@ximian.com> If we're gonna do an elite hack, lets do it right. diff --git a/camel/providers/local/camel-local-store.c b/camel/providers/local/camel-local-store.c index a0d3708346..0fbb9eb14e 100644 --- a/camel/providers/local/camel-local-store.c +++ b/camel/providers/local/camel-local-store.c @@ -144,8 +144,9 @@ get_folder(CamelStore * store, const char *folder_name, guint32 flags, CamelExce if (!S_ISDIR(st.st_mode)) { camel_exception_setv(ex, CAMEL_EXCEPTION_STORE_NO_FOLDER, _("Store root %s is not a regular directory"), path); + return NULL; } - return NULL; + return (CamelFolder *) 0xdeadbeef; } if (errno != ENOENT @@ -175,7 +176,7 @@ get_folder(CamelStore * store, const char *folder_name, guint32 flags, CamelExce *slash = '/'; } while (slash); - return NULL; + return (CamelFolder *) 0xdeadbeef; } static CamelFolder * diff --git a/camel/providers/local/camel-maildir-store.c b/camel/providers/local/camel-maildir-store.c index caae276e14..53d554d16a 100644 --- a/camel/providers/local/camel-maildir-store.c +++ b/camel/providers/local/camel-maildir-store.c @@ -85,14 +85,14 @@ CamelType camel_maildir_store_get_type(void) return camel_maildir_store_type; } -static CamelFolder *get_folder(CamelStore * store, const char *folder_name, guint32 flags, CamelException * ex) +static CamelFolder * +get_folder(CamelStore * store, const char *folder_name, guint32 flags, CamelException * ex) { char *name, *tmp, *cur, *new; struct stat st; CamelFolder *folder = NULL; - (void) ((CamelStoreClass *)parent_class)->get_folder(store, folder_name, flags, ex); - if (camel_exception_is_set(ex)) + if (!((CamelStoreClass *)parent_class)->get_folder(store, folder_name, flags, ex)) return NULL; name = g_strdup_printf("%s%s", CAMEL_LOCAL_STORE(store)->toplevel_dir, folder_name); diff --git a/camel/providers/local/camel-mbox-store.c b/camel/providers/local/camel-mbox-store.c index 3333580766..cfe3429713 100644 --- a/camel/providers/local/camel-mbox-store.c +++ b/camel/providers/local/camel-mbox-store.c @@ -81,8 +81,7 @@ get_folder(CamelStore *store, const char *folder_name, guint32 flags, CamelExcep char *name; struct stat st; - (void) ((CamelStoreClass *)parent_class)->get_folder(store, folder_name, flags, ex); - if (camel_exception_is_set(ex)) + if (!((CamelStoreClass *)parent_class)->get_folder(store, folder_name, flags, ex)) return NULL; name = g_strdup_printf("%s%s", CAMEL_LOCAL_STORE(store)->toplevel_dir, folder_name); diff --git a/camel/providers/local/camel-mh-store.c b/camel/providers/local/camel-mh-store.c index f653fdb408..a92db83797 100644 --- a/camel/providers/local/camel-mh-store.c +++ b/camel/providers/local/camel-mh-store.c @@ -185,13 +185,13 @@ fail: camel_object_unref(out); } -static CamelFolder *get_folder(CamelStore * store, const char *folder_name, guint32 flags, CamelException * ex) +static CamelFolder * +get_folder(CamelStore * store, const char *folder_name, guint32 flags, CamelException * ex) { char *name; struct stat st; - (void) ((CamelStoreClass *)parent_class)->get_folder(store, folder_name, flags, ex); - if (camel_exception_is_set(ex)) + if (!((CamelStoreClass *)parent_class)->get_folder(store, folder_name, flags, ex)) return NULL; name = g_strdup_printf("%s%s", CAMEL_LOCAL_STORE(store)->toplevel_dir, folder_name); |