From b3b4f3875850099c9292ad74d08bb385c3988f8f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 22 Jun 2004 10:48:18 +0300 Subject: [PATCH] get_last_error() wasn't virtualizable --HG-- branch : HEAD --- src/lib-storage/index/index-storage.c | 7 +++++++ src/lib-storage/index/index-storage.h | 3 ++- src/lib-storage/index/maildir/maildir-storage.c | 2 +- src/lib-storage/index/mbox/mbox-storage.c | 2 +- src/lib-storage/mail-storage-private.h | 3 +++ src/lib-storage/mail-storage.c | 3 +-- 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/lib-storage/index/index-storage.c b/src/lib-storage/index/index-storage.c index e2dab12929..3aabeedabf 100644 --- a/src/lib-storage/index/index-storage.c +++ b/src/lib-storage/index/index-storage.c @@ -407,6 +407,13 @@ void index_storage_set_callbacks(struct mail_storage *_storage, storage->callback_context = context; } +const char *index_storage_get_last_error(struct mail_storage *storage, + int *syntax_error_r) +{ + *syntax_error_r = storage->syntax_error; + return storage->error; +} + int mail_storage_set_index_error(struct index_mailbox *ibox) { switch (mail_index_get_last_error(ibox->index)) { diff --git a/src/lib-storage/index/index-storage.h b/src/lib-storage/index/index-storage.h index 74b786c40b..0500a15250 100644 --- a/src/lib-storage/index/index-storage.h +++ b/src/lib-storage/index/index-storage.h @@ -159,10 +159,11 @@ void index_mailbox_check_remove_all(struct index_mailbox *ibox); int index_storage_sync(struct mailbox *box, enum mailbox_sync_flags flags); -/* mailbox methods: */ void index_storage_set_callbacks(struct mail_storage *storage, struct mail_storage_callbacks *callbacks, void *context); +const char *index_storage_get_last_error(struct mail_storage *storage, + int *syntax_error_r); int index_storage_get_status(struct mailbox *box, enum mailbox_status_items items, struct mailbox_status *status); diff --git a/src/lib-storage/index/maildir/maildir-storage.c b/src/lib-storage/index/maildir/maildir-storage.c index 4cf18b7b2a..c461b85d6c 100644 --- a/src/lib-storage/index/maildir/maildir-storage.c +++ b/src/lib-storage/index/maildir/maildir-storage.c @@ -842,7 +842,7 @@ struct mail_storage maildir_storage = { maildir_mailbox_list_deinit, maildir_set_subscribed, maildir_get_mailbox_name_status, - mail_storage_get_last_error, + index_storage_get_last_error, NULL, 0 diff --git a/src/lib-storage/index/mbox/mbox-storage.c b/src/lib-storage/index/mbox/mbox-storage.c index 8726677c3b..4e461c6b64 100644 --- a/src/lib-storage/index/mbox/mbox-storage.c +++ b/src/lib-storage/index/mbox/mbox-storage.c @@ -854,7 +854,7 @@ struct mail_storage mbox_storage = { mbox_mailbox_list_deinit, mbox_set_subscribed, mbox_get_mailbox_name_status, - mail_storage_get_last_error, + index_storage_get_last_error, NULL, 0 diff --git a/src/lib-storage/mail-storage-private.h b/src/lib-storage/mail-storage-private.h index 8f270085ea..da1a5ccaaf 100644 --- a/src/lib-storage/mail-storage-private.h +++ b/src/lib-storage/mail-storage-private.h @@ -127,4 +127,7 @@ void mail_storage_set_critical(struct mail_storage *storage, const char *fmt, ...) __attr_format__(2, 3); void mail_storage_set_internal_error(struct mail_storage *storage); +const char *mail_storage_class_get_last_error(struct mail_storage *storage, + int *syntax_error_r); + #endif diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index e90da3cd03..caf96df40c 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -325,8 +325,7 @@ int mail_storage_get_mailbox_name_status(struct mail_storage *storage, const char *mail_storage_get_last_error(struct mail_storage *storage, int *syntax_error_r) { - *syntax_error_r = storage->syntax_error; - return storage->error; + return storage->get_last_error(storage, syntax_error_r); } struct mailbox *mailbox_open(struct mail_storage *storage, -- 2.47.3