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 {
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;
}
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;
}
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)