From: Timo Sirainen Date: Sat, 3 Dec 2022 12:08:11 +0000 (+0200) Subject: dsync: Add DSYNC_MAIL_CHANGE_TYPE_COUNT and verify its name array size X-Git-Tag: 2.4.0~3291 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88e19e3ab14f5b875e2785a58f8fc305976ca007;p=thirdparty%2Fdovecot%2Fcore.git dsync: Add DSYNC_MAIL_CHANGE_TYPE_COUNT and verify its name array size --- diff --git a/src/doveadm/dsync/dsync-ibc-stream.c b/src/doveadm/dsync/dsync-ibc-stream.c index 585e74117f..df624b618b 100644 --- a/src/doveadm/dsync/dsync-ibc-stream.c +++ b/src/doveadm/dsync/dsync-ibc-stream.c @@ -1654,6 +1654,8 @@ dsync_ibc_stream_send_change(struct dsync_ibc *_ibc, case DSYNC_MAIL_CHANGE_TYPE_FLAG_CHANGE: type[0] = 'f'; break; + case DSYNC_MAIL_CHANGE_TYPE_COUNT: + i_unreached(); } i_assert(type[0] != '\0'); dsync_serializer_encode_add(encoder, "type", type); diff --git a/src/doveadm/dsync/dsync-mail.h b/src/doveadm/dsync/dsync-mail.h index fc0005915b..bcddda4333 100644 --- a/src/doveadm/dsync/dsync-mail.h +++ b/src/doveadm/dsync/dsync-mail.h @@ -40,7 +40,9 @@ struct dsync_mail_request { enum dsync_mail_change_type { DSYNC_MAIL_CHANGE_TYPE_SAVE, DSYNC_MAIL_CHANGE_TYPE_EXPUNGE, - DSYNC_MAIL_CHANGE_TYPE_FLAG_CHANGE + DSYNC_MAIL_CHANGE_TYPE_FLAG_CHANGE, + + DSYNC_MAIL_CHANGE_TYPE_COUNT }; #define KEYWORD_CHANGE_ADD '+' diff --git a/src/doveadm/dsync/dsync-mailbox-import.c b/src/doveadm/dsync/dsync-mailbox-import.c index ed388d651f..9c69e9e3e4 100644 --- a/src/doveadm/dsync/dsync-mailbox-import.c +++ b/src/doveadm/dsync/dsync-mailbox-import.c @@ -136,6 +136,8 @@ struct dsync_mailbox_importer { static const char *dsync_mail_change_type_names[] = { "save", "expunge", "flag-change" }; +static_assert_array_size(dsync_mail_change_type_names, + DSYNC_MAIL_CHANGE_TYPE_COUNT); static bool dsync_mailbox_save_newmails(struct dsync_mailbox_importer *importer, const struct dsync_mail *mail, @@ -1852,6 +1854,8 @@ int dsync_mailbox_import_change(struct dsync_mailbox_importer *importer, i_assert(importer->last_common_uid_found); dsync_mailbox_import_flag_change(importer, change); break; + case DSYNC_MAIL_CHANGE_TYPE_COUNT: + i_unreached(); } return importer->failed ? -1 : 0; }