]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
get_last_error() wasn't virtualizable
authorTimo Sirainen <tss@iki.fi>
Tue, 22 Jun 2004 07:48:18 +0000 (10:48 +0300)
committerTimo Sirainen <tss@iki.fi>
Tue, 22 Jun 2004 07:48:18 +0000 (10:48 +0300)
--HG--
branch : HEAD

src/lib-storage/index/index-storage.c
src/lib-storage/index/index-storage.h
src/lib-storage/index/maildir/maildir-storage.c
src/lib-storage/index/mbox/mbox-storage.c
src/lib-storage/mail-storage-private.h
src/lib-storage/mail-storage.c

index e2dab12929eb3624370538ad72e49a15499e0413..3aabeedabf81be5a36ebbfa3eb7d2bfbafab0ecb 100644 (file)
@@ -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)) {
index 74b786c40b6b5ef34aae21ea2407fe73238678e5..0500a152500c0577852acd873ea59ab8ea6046be 100644 (file)
@@ -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);
index 4cf18b7b2acd7423d7f83ac958caf4e8e8b0a93d..c461b85d6c2fdf58793fb9c902b0072363dbe693 100644 (file)
@@ -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
index 8726677c3bffd9e3cbdadea9f03a60ef52e8d427..4e461c6b64ea814e10870e39cd1501b7767d5d5d 100644 (file)
@@ -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
index 8f270085ea29846db933860d4477962949fce280..da1a5ccaafb82838f4ab72de5381f9a8eb1079d4 100644 (file)
@@ -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
index e90da3cd03ad701c018a76816334dccae5dcd962..caf96df40c9f9bd5db37baa7417e3ae7b04499a4 100644 (file)
@@ -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,