Mercurial > dovecot > original-hg > dovecot-1.2
diff src/imap/imap-fetch.c @ 3016:61c8d205d887 HEAD
Initial support for keywords. Syncing to mbox/maildir doesn't work yet.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 26 Dec 2004 11:12:39 +0200 |
parents | 192da9681e1b |
children | 395d7b248caa |
line wrap: on
line diff
--- a/src/imap/imap-fetch.c Sun Dec 26 11:10:20 2004 +0200 +++ b/src/imap/imap-fetch.c Sun Dec 26 11:12:39 2004 +0200 @@ -90,7 +90,6 @@ ctx->box = client->mailbox; ctx->cur_str = str_new(default_pool, 8192); - ctx->seen_flag.flags = MAIL_SEEN; ctx->all_headers_buf = buffer_create_dynamic(client->cmd_pool, 128); ctx->handlers = buffer_create_dynamic(client->cmd_pool, 128); ctx->line_finished = TRUE; @@ -374,27 +373,23 @@ static int fetch_flags(struct imap_fetch_context *ctx, struct mail *mail, void *context __attr_unused__) { - const struct mail_full_flags *flags; - struct mail_full_flags full_flags; + enum mail_flags flags; + const char *const *keywords; flags = mail->get_flags(mail); - if (flags == NULL) - return -1; + keywords = mail->get_keywords(mail); - if (ctx->flags_update_seen && (flags->flags & MAIL_SEEN) == 0) { + if (ctx->flags_update_seen && (flags & MAIL_SEEN) == 0) { /* Add \Seen flag */ - full_flags = *flags; - full_flags.flags |= MAIL_SEEN; - flags = &full_flags; - - if (mail->update_flags(mail, &ctx->seen_flag, MODIFY_ADD) < 0) + flags |= MAIL_SEEN; + if (mail->update_flags(mail, MAIL_SEEN, MODIFY_ADD) < 0) return -1; } else if (ctx->flags_show_only_seen_changes) { return 1; } str_append(ctx->cur_str, "FLAGS ("); - imap_write_flags(ctx->cur_str, flags); + imap_write_flags(ctx->cur_str, flags, keywords); str_append(ctx->cur_str, ") "); return 1; }