enum modify_type modify_type =
!reverse ? MODIFY_ADD : MODIFY_REMOVE;
- if (doveadm_mail_iter_init(ctx, info, search_args, 0, NULL, FALSE,
+ if (doveadm_mail_iter_init(ctx, info, search_args, 0, NULL, 0,
&iter) < 0)
return -1;
int ret = 0, ret2;
if (doveadm_mail_iter_init(&ctx->ctx, info, ctx->ctx.search_args, 0,
- NULL, FALSE, &iter) < 0)
+ NULL, 0, &iter) < 0)
return -1;
/* use a separately committed transaction for each mailbox.
struct uidlist *value;
int ret = 0;
- if (doveadm_mail_iter_init(_ctx, info, search_args, 0, NULL, FALSE,
+ if (doveadm_mail_iter_init(_ctx, info, search_args, 0, NULL, 0,
&iter) < 0)
return -1;
enum mail_error error;
int ret = 0;
- if (doveadm_mail_iter_init(_ctx, info, search_args, 0, NULL, FALSE,
+ if (doveadm_mail_iter_init(_ctx, info, search_args, 0, NULL, 0,
&iter) < 0)
return -1;
if (doveadm_mail_iter_init(&ctx->ctx, info, ctx->ctx.search_args,
ctx->wanted_fields,
array_front(&ctx->header_fields),
- FALSE,
+ 0,
&iter) < 0)
return -1;
struct mail_keywords *kw = NULL;
if (doveadm_mail_iter_init(&ctx->ctx, info, ctx->ctx.search_args,
- 0, NULL, FALSE, &iter) < 0)
+ 0, NULL, 0, &iter) < 0)
return -1;
box = doveadm_mail_iter_get_mailbox(iter);
struct mail *mail;
int ret = 0;
- if (doveadm_mail_iter_init(&ctx->ctx, info, search_args, 0, NULL, TRUE,
+ if (doveadm_mail_iter_init(&ctx->ctx, info, search_args, 0, NULL,
+ DOVEADM_MAIL_ITER_FLAG_READONLY,
&iter) < 0)
return -1;
struct mail_search_args *search_args,
enum mail_fetch_field wanted_fields,
const char *const *wanted_headers,
- bool readonly,
+ enum doveadm_mail_iter_flags flags,
struct doveadm_mail_iter **iter_r)
{
struct doveadm_mail_iter *iter;
enum mail_error error;
enum mailbox_flags readonly_flag =
- readonly ? MAILBOX_FLAG_READONLY : 0;
+ (flags & DOVEADM_MAIL_ITER_FLAG_READONLY) != 0 ?
+ MAILBOX_FLAG_READONLY : 0;
iter = i_new(struct doveadm_mail_iter, 1);
iter->ctx = ctx;
#include "mailbox-list-iter.h"
+enum doveadm_mail_iter_flags {
+ /* Open the mailbox with MAILBOX_FLAG_READONLY */
+ DOVEADM_MAIL_ITER_FLAG_READONLY = BIT(0),
+};
+
struct doveadm_mail_iter;
struct doveadm_mail_cmd_context;
struct mail_search_args *search_args,
enum mail_fetch_field wanted_fields,
const char *const *wanted_headers,
- bool readonly,
+ enum doveadm_mail_iter_flags flags,
struct doveadm_mail_iter **iter_r) ATTR_NULL(6);
int doveadm_mail_iter_deinit(struct doveadm_mail_iter **iter);
int doveadm_mail_iter_deinit_sync(struct doveadm_mail_iter **iter);
int ret = 0, count = 0;
if (doveadm_mail_iter_init(&ctx->ctx, info, ctx->ctx.search_args,
- 0, NULL, FALSE, &iter) < 0)
+ 0, NULL, 0, &iter) < 0)
return -1;
box = doveadm_mail_iter_get_mailbox(iter);
if (doveadm_mail_iter_init(ctx, info, ctx->search_args,
MAIL_FETCH_IMAP_BODYSTRUCTURE|
- MAIL_FETCH_MESSAGE_PARTS, NULL, FALSE,
+ MAIL_FETCH_MESSAGE_PARTS, NULL, 0,
&iter) < 0)
return -1;
const char *guid_str;
int ret = 0;
- if (doveadm_mail_iter_init(ctx, info, ctx->search_args, 0, NULL, FALSE,
+ if (doveadm_mail_iter_init(ctx, info, ctx->search_args, 0, NULL, 0,
&iter) < 0)
return -1;
box = doveadm_mail_iter_get_mailbox(iter);