| 3835 | } |
| 3836 | |
| 3837 | void IMAPSession::storeFlagsAndCustomFlags(String * folder, bool identifier_is_uid, IndexSet * identifiers, |
| 3838 | IMAPStoreFlagsRequestKind kind, MessageFlag flags, Array * customFlags, ErrorCode * pError) |
| 3839 | { |
| 3840 | struct mailimap_set * imap_set; |
| 3841 | struct mailimap_store_att_flags * store_att_flags; |
| 3842 | struct mailimap_flag_list * flag_list; |
| 3843 | int r; |
| 3844 | clist * setList; |
| 3845 | |
| 3846 | selectIfNeeded(folder, pError); |
| 3847 | if (* pError != ErrorNone) |
| 3848 | return; |
| 3849 | |
| 3850 | imap_set = setFromIndexSet(identifiers); |
| 3851 | if (clist_count(imap_set->set_list) == 0) { |
| 3852 | mailimap_set_free(imap_set); |
| 3853 | return; |
| 3854 | } |
| 3855 | |
| 3856 | setList = splitSet(imap_set, 50); |
| 3857 | |
| 3858 | flag_list = mailimap_flag_list_new_empty(); |
| 3859 | if ((flags & MessageFlagSeen) != 0) { |
| 3860 | struct mailimap_flag * f; |
| 3861 | |
| 3862 | f = mailimap_flag_new_seen(); |
| 3863 | mailimap_flag_list_add(flag_list, f); |
| 3864 | } |
| 3865 | if ((flags & MessageFlagAnswered) != 0) { |
| 3866 | struct mailimap_flag * f; |
| 3867 | |
| 3868 | f = mailimap_flag_new_answered(); |
| 3869 | mailimap_flag_list_add(flag_list, f); |
| 3870 | } |
| 3871 | if ((flags & MessageFlagFlagged) != 0) { |
| 3872 | struct mailimap_flag * f; |
| 3873 | |
| 3874 | f = mailimap_flag_new_flagged(); |
| 3875 | mailimap_flag_list_add(flag_list, f); |
| 3876 | } |
| 3877 | if ((flags & MessageFlagDeleted) != 0) { |
| 3878 | struct mailimap_flag * f; |
| 3879 | |
| 3880 | f = mailimap_flag_new_deleted(); |
| 3881 | mailimap_flag_list_add(flag_list, f); |
| 3882 | } |
| 3883 | if ((flags & MessageFlagDraft) != 0) { |
| 3884 | struct mailimap_flag * f; |
| 3885 | |
| 3886 | f = mailimap_flag_new_draft(); |
| 3887 | mailimap_flag_list_add(flag_list, f); |
| 3888 | } |
| 3889 | if ((flags & MessageFlagMDNSent) != 0) { |
| 3890 | struct mailimap_flag * f; |
| 3891 | |
| 3892 | f = mailimap_flag_new_flag_keyword(strdup("$MDNSent")); |
| 3893 | mailimap_flag_list_add(flag_list, f); |
| 3894 | } |
nothing calls this directly
no test coverage detected