From: Timo Sirainen Date: Tue, 22 Jun 2004 07:48:18 +0000 (+0300) Subject: get_last_error() wasn't virtualizable X-Git-Tag: 1.1.alpha1~3881 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3b4f3875850099c9292ad74d08bb385c3988f8f;p=thirdparty%2Fdovecot%2Fcore.git get_last_error() wasn't virtualizable --HG-- branch : HEAD --- 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,