From 35ca88b9f96b99903faac37c9938428b510a940e Mon Sep 17 00:00:00 2001 From: Marco Bettini Date: Tue, 25 Jul 2023 13:42:38 +0000 Subject: [PATCH] lib-index: Convert mail_index_error.nodiskspace into an enum --- src/lib-index/mail-index-private.h | 5 +---- src/lib-index/mail-index-strmap.c | 2 +- src/lib-index/mail-index.c | 2 +- src/lib-index/mail-index.h | 5 +++++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib-index/mail-index-private.h b/src/lib-index/mail-index-private.h index 26f7e392a0..722f4a20ca 100644 --- a/src/lib-index/mail-index-private.h +++ b/src/lib-index/mail-index-private.h @@ -195,10 +195,7 @@ struct mail_index_settings { struct mail_index_error { /* Human-readable error text */ char *text; - - /* Error happened because there's no disk space, i.e. syscall failed - with ENOSPC or EDQUOT. */ - bool nodiskspace:1; + enum mail_index_error_code code; }; struct mail_index { diff --git a/src/lib-index/mail-index-strmap.c b/src/lib-index/mail-index-strmap.c index f10f0167db..fb92517068 100644 --- a/src/lib-index/mail-index-strmap.c +++ b/src/lib-index/mail-index-strmap.c @@ -122,7 +122,7 @@ mail_index_strmap_set_syscall_error(struct mail_index_strmap *strmap, i_assert(function != NULL); if (ENOSPACE(errno)) { - strmap->index->last_error.nodiskspace = TRUE; + strmap->index->last_error.code = MAIL_INDEX_ERROR_CODE_NO_SPACE; if ((strmap->index->flags & MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY) == 0) return; diff --git a/src/lib-index/mail-index.c b/src/lib-index/mail-index.c index 1a1caa7483..0dec3f69bf 100644 --- a/src/lib-index/mail-index.c +++ b/src/lib-index/mail-index.c @@ -1081,7 +1081,7 @@ void mail_index_file_set_syscall_error(struct mail_index *index, } if (ENOSPACE(errno)) { - index->last_error.nodiskspace = TRUE; + index->last_error.code = MAIL_INDEX_ERROR_CODE_NO_SPACE; if ((index->flags & MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY) == 0) return; } diff --git a/src/lib-index/mail-index.h b/src/lib-index/mail-index.h index 8d5bb2dcca..2d77a5cfea 100644 --- a/src/lib-index/mail-index.h +++ b/src/lib-index/mail-index.h @@ -77,6 +77,11 @@ enum mail_index_mail_flags { MAIL_INDEX_MAIL_FLAG_UPDATE_MODSEQ = 0x100 }; +enum mail_index_error_code { + MAIL_INDEX_ERROR_CODE_NONE, + MAIL_INDEX_ERROR_CODE_NO_SPACE, +}; + #define MAIL_INDEX_FLAGS_MASK \ (MAIL_ANSWERED | MAIL_FLAGGED | MAIL_DELETED | MAIL_SEEN | MAIL_DRAFT) -- 2.47.3