aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/mbox
diff options
context:
space:
mode:
authorbertrand <Bertrand.Guiheneuf@aful.org>2000-02-22 19:16:36 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>2000-02-22 19:16:36 +0800
commitf65a2d78c6cb123fd94b173aa4e877f22d314d4c (patch)
tree3a3cba1006293ae988dd1213a0f88bdd90dab8b7 /camel/providers/mbox
parent7c6897ee95e4346e991185c014bcfce003809fd8 (diff)
downloadgsoc2013-evolution-f65a2d78c6cb123fd94b173aa4e877f22d314d4c.tar.gz
gsoc2013-evolution-f65a2d78c6cb123fd94b173aa4e877f22d314d4c.tar.zst
gsoc2013-evolution-f65a2d78c6cb123fd94b173aa4e877f22d314d4c.zip
fix to show a sample correct implementation.
2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org> * 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
Diffstat (limited to 'camel/providers/mbox')
-rw-r--r--camel/providers/mbox/camel-mbox-folder.c10
-rw-r--r--camel/providers/mbox/camel-mbox-store.c8
2 files changed, 14 insertions, 4 deletions
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,
diff --git a/camel/providers/mbox/camel-mbox-store.c b/camel/providers/mbox/camel-mbox-store.c
index 9c5e889aa7..76ceed282a 100644
--- a/camel/providers/mbox/camel-mbox-store.c
+++ b/camel/providers/mbox/camel-mbox-store.c
@@ -21,6 +21,10 @@
* USA
*/
+
+#include <config.h>
+#include "camel-log.h"
+
#include "camel-mbox-store.h"
#include "camel-mbox-folder.h"
#include "camel-exception.h"
@@ -104,12 +108,14 @@ _get_folder (CamelStore *store, const gchar *folder_name, CamelException *ex)
/* call the standard routine for that when */
/* it is done ... */
+ CAMEL_LOG_FULL_DEBUG ("Entering CamelMboxStore::get_folder\n");
new_mbox_folder = gtk_type_new (CAMEL_MBOX_FOLDER_TYPE);
new_folder = CAMEL_FOLDER (new_mbox_folder);
CF_CLASS (new_folder)->init_with_store (new_folder, store, ex);
CF_CLASS (new_folder)->set_name (new_folder, folder_name, ex);
-
+ CAMEL_LOG_FULL_DEBUG ("Leaving CamelMboxStore::get_folder\n");
+
return new_folder;
}