Mercurial > dovecot > original-hg > dovecot-1.2
diff src/imap/cmd-append.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 | 904c31d74acc |
children | d14b7e7943c3 |
line wrap: on
line diff
--- a/src/imap/cmd-append.c Sun Dec 26 11:10:20 2004 +0200 +++ b/src/imap/cmd-append.c Sun Dec 26 11:12:39 2004 +0200 @@ -166,7 +166,9 @@ struct cmd_append_context *ctx = client->cmd_context; struct imap_arg *args; struct imap_arg_list *flags_list; - struct mail_full_flags flags; + enum mail_flags flags; + const char *const *keywords_list; + struct mail_keywords *keywords; const char *internal_date_str; time_t internal_date; int ret, timezone_offset, nonsync; @@ -228,10 +230,13 @@ if (flags_list != NULL) { if (!client_parse_mail_flags(client, flags_list->args, - &client->keywords, &flags)) + &flags, &keywords_list)) return cmd_append_cancel(ctx, nonsync); + keywords = keywords_list == NULL ? NULL : + mailbox_keywords_create(ctx->t, keywords_list); } else { - memset(&flags, 0, sizeof(flags)); + flags = 0; + keywords = NULL; } if (internal_date_str == NULL) { @@ -263,8 +268,8 @@ ctx->input = i_stream_create_limit(default_pool, client->input, client->input->v_offset, ctx->msg_size); - ctx->save_ctx = mailbox_save_init(ctx->t, &flags, internal_date, - timezone_offset, NULL, + ctx->save_ctx = mailbox_save_init(ctx->t, flags, keywords, + internal_date, timezone_offset, NULL, ctx->input, FALSE); client->command_pending = TRUE;