From f65a2d78c6cb123fd94b173aa4e877f22d314d4c Mon Sep 17 00:00:00 2001 From: bertrand Date: Tue, 22 Feb 2000 11:16:36 +0000 Subject: fix to show a sample correct implementation. 2000-02-22 bertrand * message-list.c (message_list_set_folder): fix to show a sample correct implementation. * camel-folder.c (camel_folder_get_subfolder): (camel_folder_create): (camel_folder_delete): (camel_folder_delete_messages): (camel_folder_list_subfolders): (camel_folder_expunge): (camel_folder_get_message_by_number): (camel_folder_get_message_count): (camel_folder_append_message): (camel_folder_copy_message_to): (camel_folder_get_summary): (camel_folder_get_message_uid): (camel_folder_get_message_by_uid): (camel_folder_get_uid_list): Check folder state (open/close) and raise an exception if it is not ok. * providers/mbox/camel-mbox-folder.c (_create): create the file and the path with two different names. * camel-folder.c (_create): handle the case when the folder name starts with '/' * camel-exception.c (camel_exception_new): use (void) instead of () in decl. * camel-exception.h: cosmetic fixes. * camel-exception.c (camel_exception_init): new routine. Fix a bug in mail/message-list.c * camel-folder.h: cosmetic changes. * camel-stream-b64.c (reset__static): added a reset method. Thanks message-browser to find so much bugs :) * providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): readd Unicode libs. Fixes and exception handling in camel-folder. Fixes in mail/evolution-mail to make it not segfault and to demonstrate a correct implementation. svn path=/trunk/; revision=1902 --- camel/providers/mbox/camel-mbox-folder.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'camel/providers/mbox/camel-mbox-folder.c') diff --git a/camel/providers/mbox/camel-mbox-folder.c b/camel/providers/mbox/camel-mbox-folder.c index ad899090dc..593f5699eb 100644 --- a/camel/providers/mbox/camel-mbox-folder.c +++ b/camel/providers/mbox/camel-mbox-folder.c @@ -388,13 +388,14 @@ _set_name (CamelFolder *folder, const gchar *name, CamelException *ex) static gboolean _exists (CamelFolder *folder, CamelException *ex) { - CamelMboxFolder *mbox_folder = CAMEL_MBOX_FOLDER(folder); + CamelMboxFolder *mbox_folder; struct stat stat_buf; gint stat_error; gboolean exists; CAMEL_LOG_FULL_DEBUG ("Entering CamelMboxFolder::exists\n"); - + + /* check if the folder object exists */ if (!folder) { camel_exception_set (ex, @@ -403,6 +404,9 @@ _exists (CamelFolder *folder, CamelException *ex) return FALSE; } + mbox_folder = CAMEL_MBOX_FOLDER(folder); + + /* check if the mbox file path is determined */ if (!mbox_folder->folder_file_path) { camel_exception_set (ex, @@ -492,7 +496,7 @@ _create (CamelFolder *folder, CamelException *ex) /* get the paths of what we need to create */ folder_file_path = mbox_folder->folder_file_path; - folder_dir_path = mbox_folder->folder_file_path; + folder_dir_path = mbox_folder->folder_dir_path; if (!(folder_file_path || folder_dir_path)) { camel_exception_set (ex, -- cgit v1.2.3