Diffstat (limited to 'kmicromail/libetpan/generic/imapdriver_tools.c') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kmicromail/libetpan/generic/imapdriver_tools.c | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/kmicromail/libetpan/generic/imapdriver_tools.c b/kmicromail/libetpan/generic/imapdriver_tools.c index 3d737f3..de4008f 100644 --- a/kmicromail/libetpan/generic/imapdriver_tools.c +++ b/kmicromail/libetpan/generic/imapdriver_tools.c @@ -3109,4 +3109,4 @@ static int imap_flags_to_flags(struct mailimap_msg_att_dynamic * att_dyn, -static int flags_to_imap_flags(struct mail_flags * flags, - struct mailimap_store_att_flags ** result) +int imap_flags_to_imap_flags(struct mail_flags * flags, + struct mailimap_flag_list ** result) { @@ -3114,3 +3114,2 @@ static int flags_to_imap_flags(struct mail_flags * flags, struct mailimap_flag_list * flag_list; - struct mailimap_store_att_flags * att_flags; int res; @@ -3118,3 +3117,3 @@ static int flags_to_imap_flags(struct mail_flags * flags, int r; - + flag_list = mailimap_flag_list_new_empty(); @@ -3241,3 +3240,28 @@ static int flags_to_imap_flags(struct mail_flags * flags, } + + * result = flag_list; + + return MAIL_NO_ERROR; + + free_flag_list: + mailimap_flag_list_free(flag_list); + err: + return res; +} +static int flags_to_imap_flags(struct mail_flags * flags, + struct mailimap_store_att_flags ** result) +{ + struct mailimap_flag_list * flag_list; + struct mailimap_store_att_flags * att_flags; + int res; + int r; + + r = imap_flags_to_imap_flags(flags, + &flag_list); + if (r != MAIL_NO_ERROR) { + res = r; + goto err; + } + att_flags = mailimap_store_att_flags_new_set_flags_silent(flag_list); @@ -3247,7 +3271,7 @@ static int flags_to_imap_flags(struct mail_flags * flags, } - + * result = att_flags; - + return MAIL_NO_ERROR; - + free_flag_list: |