Diffstat (limited to 'kmicromail/libetpan/generic/mhdriver.c') (more/less context) (show whitespace changes)
-rw-r--r-- | kmicromail/libetpan/generic/mhdriver.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kmicromail/libetpan/generic/mhdriver.c b/kmicromail/libetpan/generic/mhdriver.c index af38d27..05a6a4f 100644 --- a/kmicromail/libetpan/generic/mhdriver.c +++ b/kmicromail/libetpan/generic/mhdriver.c | |||
@@ -80,24 +80,26 @@ static int mhdriver_messages_number(mailsession * session, char * mb, | |||
80 | static int mhdriver_list_folders(mailsession * session, char * mb, | 80 | static int mhdriver_list_folders(mailsession * session, char * mb, |
81 | struct mail_list ** result); | 81 | struct mail_list ** result); |
82 | 82 | ||
83 | static int mhdriver_lsub_folders(mailsession * session, char * mb, | 83 | static int mhdriver_lsub_folders(mailsession * session, char * mb, |
84 | struct mail_list ** result); | 84 | struct mail_list ** result); |
85 | 85 | ||
86 | static int mhdriver_subscribe_folder(mailsession * session, char * mb); | 86 | static int mhdriver_subscribe_folder(mailsession * session, char * mb); |
87 | 87 | ||
88 | static int mhdriver_unsubscribe_folder(mailsession * session, char * mb); | 88 | static int mhdriver_unsubscribe_folder(mailsession * session, char * mb); |
89 | 89 | ||
90 | static int mhdriver_append_message(mailsession * session, | 90 | static int mhdriver_append_message(mailsession * session, |
91 | char * message, size_t size); | 91 | char * message, size_t size); |
92 | static int mhdriver_append_message_flags(mailsession * session, | ||
93 | char * message, size_t size, struct mail_flags * flags); | ||
92 | static int mhdriver_copy_message(mailsession * session, | 94 | static int mhdriver_copy_message(mailsession * session, |
93 | uint32_t num, char * mb); | 95 | uint32_t num, char * mb); |
94 | 96 | ||
95 | static int mhdriver_remove_message(mailsession * session, uint32_t num); | 97 | static int mhdriver_remove_message(mailsession * session, uint32_t num); |
96 | 98 | ||
97 | static int mhdriver_move_message(mailsession * session, | 99 | static int mhdriver_move_message(mailsession * session, |
98 | uint32_t num, char * mb); | 100 | uint32_t num, char * mb); |
99 | 101 | ||
100 | static int mhdriver_get_messages_list(mailsession * session, | 102 | static int mhdriver_get_messages_list(mailsession * session, |
101 | struct mailmessage_list ** result); | 103 | struct mailmessage_list ** result); |
102 | 104 | ||
103 | static int mhdriver_get_message(mailsession * session, | 105 | static int mhdriver_get_message(mailsession * session, |
@@ -131,24 +133,25 @@ static mailsession_driver local_mh_session_driver = { | |||
131 | .sess_select_folder = mhdriver_select_folder, | 133 | .sess_select_folder = mhdriver_select_folder, |
132 | .sess_expunge_folder = NULL, | 134 | .sess_expunge_folder = NULL, |
133 | .sess_status_folder = mhdriver_status_folder, | 135 | .sess_status_folder = mhdriver_status_folder, |
134 | .sess_messages_number = mhdriver_messages_number, | 136 | .sess_messages_number = mhdriver_messages_number, |
135 | .sess_recent_number = mhdriver_messages_number, | 137 | .sess_recent_number = mhdriver_messages_number, |
136 | .sess_unseen_number = mhdriver_messages_number, | 138 | .sess_unseen_number = mhdriver_messages_number, |
137 | .sess_list_folders = mhdriver_list_folders, | 139 | .sess_list_folders = mhdriver_list_folders, |
138 | .sess_lsub_folders = mhdriver_lsub_folders, | 140 | .sess_lsub_folders = mhdriver_lsub_folders, |
139 | .sess_subscribe_folder = mhdriver_subscribe_folder, | 141 | .sess_subscribe_folder = mhdriver_subscribe_folder, |
140 | .sess_unsubscribe_folder = mhdriver_unsubscribe_folder, | 142 | .sess_unsubscribe_folder = mhdriver_unsubscribe_folder, |
141 | 143 | ||
142 | .sess_append_message = mhdriver_append_message, | 144 | .sess_append_message = mhdriver_append_message, |
145 | .sess_append_message_flags = mhdriver_append_message_flags, | ||
143 | .sess_copy_message = mhdriver_copy_message, | 146 | .sess_copy_message = mhdriver_copy_message, |
144 | .sess_move_message = mhdriver_move_message, | 147 | .sess_move_message = mhdriver_move_message, |
145 | 148 | ||
146 | .sess_get_messages_list = mhdriver_get_messages_list, | 149 | .sess_get_messages_list = mhdriver_get_messages_list, |
147 | .sess_get_envelopes_list = maildriver_generic_get_envelopes_list, | 150 | .sess_get_envelopes_list = maildriver_generic_get_envelopes_list, |
148 | .sess_remove_message = mhdriver_remove_message, | 151 | .sess_remove_message = mhdriver_remove_message, |
149 | #if 0 | 152 | #if 0 |
150 | .sess_search_messages = maildriver_generic_search_messages, | 153 | .sess_search_messages = maildriver_generic_search_messages, |
151 | #endif | 154 | #endif |
152 | 155 | ||
153 | .sess_get_message = mhdriver_get_message, | 156 | .sess_get_message = mhdriver_get_message, |
154 | .sess_get_message_by_uid = mhdriver_get_message_by_uid, | 157 | .sess_get_message_by_uid = mhdriver_get_message_by_uid, |
@@ -675,24 +678,30 @@ static int mhdriver_append_message(mailsession * session, | |||
675 | 678 | ||
676 | r = mailmh_folder_add_message(folder, message, size); | 679 | r = mailmh_folder_add_message(folder, message, size); |
677 | 680 | ||
678 | switch (r) { | 681 | switch (r) { |
679 | case MAILMH_ERROR_FILE: | 682 | case MAILMH_ERROR_FILE: |
680 | return MAIL_ERROR_DISKSPACE; | 683 | return MAIL_ERROR_DISKSPACE; |
681 | 684 | ||
682 | default: | 685 | default: |
683 | return mhdriver_mh_error_to_mail_error(r); | 686 | return mhdriver_mh_error_to_mail_error(r); |
684 | } | 687 | } |
685 | } | 688 | } |
686 | 689 | ||
690 | static int mhdriver_append_message_flags(mailsession * session, | ||
691 | char * message, size_t size, struct mail_flags * flags) | ||
692 | { | ||
693 | return mhdriver_append_message(session, message, size); | ||
694 | } | ||
695 | |||
687 | static int mhdriver_copy_message(mailsession * session, | 696 | static int mhdriver_copy_message(mailsession * session, |
688 | uint32_t num, char * mb) | 697 | uint32_t num, char * mb) |
689 | { | 698 | { |
690 | int fd; | 699 | int fd; |
691 | int r; | 700 | int r; |
692 | struct mailmh_folder * folder; | 701 | struct mailmh_folder * folder; |
693 | struct mailmh * mh; | 702 | struct mailmh * mh; |
694 | int res; | 703 | int res; |
695 | 704 | ||
696 | mh = get_mh_session(session); | 705 | mh = get_mh_session(session); |
697 | if (mh == NULL) { | 706 | if (mh == NULL) { |
698 | res = MAIL_ERROR_BAD_STATE; | 707 | res = MAIL_ERROR_BAD_STATE; |