}
num = strtoull(imap_arg_string(*args), NULL, 10);
*args += 1;
- return imap_fetch_add_unchanged_since(ctx, num);
+ return imap_fetch_add_changed_since(ctx, num);
}
if (strcmp(name, "VANISHED") == 0 && ctx->cmd->uid) {
if ((ctx->client->enabled_features &
fetch_ctx->qresync_sample_seqset = &ctx->qresync_sample_seqset;
fetch_ctx->qresync_sample_uidset = &ctx->qresync_sample_uidset;
- if (!imap_fetch_add_unchanged_since(fetch_ctx, ctx->qresync_modseq) ||
+ if (!imap_fetch_add_changed_since(fetch_ctx, ctx->qresync_modseq) ||
!imap_fetch_init_handler(fetch_ctx, "UID", NULL) ||
!imap_fetch_init_handler(fetch_ctx, "FLAGS", NULL) ||
!imap_fetch_init_handler(fetch_ctx, "MODSEQ", NULL)) {
return ctx;
}
-bool imap_fetch_add_unchanged_since(struct imap_fetch_context *ctx,
- uint64_t modseq)
+bool imap_fetch_add_changed_since(struct imap_fetch_context *ctx,
+ uint64_t modseq)
{
struct mail_search_arg *search_arg;
search_arg->type = SEARCH_MODSEQ;
search_arg->value.modseq =
p_new(ctx->cmd->pool, struct mail_search_modseq, 1);
- search_arg->value.modseq->modseq = modseq;
+ search_arg->value.modseq->modseq = modseq + 1;
search_arg->next = ctx->search_args->args->next;
ctx->search_args->args->next = search_arg;
bool imap_fetch_init_handler(struct imap_fetch_context *ctx, const char *name,
const struct imap_arg **args);
-bool imap_fetch_add_unchanged_since(struct imap_fetch_context *ctx,
- uint64_t modseq);
+bool imap_fetch_add_changed_since(struct imap_fetch_context *ctx,
+ uint64_t modseq);
int imap_fetch_begin(struct imap_fetch_context *ctx);
int imap_fetch_more(struct imap_fetch_context *ctx);