199 |
{ |
{ |
200 |
if (mbox == NULL || mbox->_close == NULL) |
if (mbox == NULL || mbox->_close == NULL) |
201 |
return MU_ERR_EMPTY_VFN; |
return MU_ERR_EMPTY_VFN; |
202 |
|
|
203 |
return mbox->_close (mbox); |
return mbox->_close (mbox); |
204 |
} |
} |
205 |
|
|
206 |
|
int |
207 |
|
mailbox_flush (mailbox_t mbox, int expunge) |
208 |
|
{ |
209 |
|
size_t i, total = 0; |
210 |
|
int status = 0; |
211 |
|
|
212 |
|
mailbox_messages_count (mbox, &total); |
213 |
|
for (i = 1; i <= total; i++) |
214 |
|
{ |
215 |
|
message_t msg = NULL; |
216 |
|
attribute_t attr = NULL; |
217 |
|
mailbox_get_message (mbox, i, &msg); |
218 |
|
message_get_attribute (msg, &attr); |
219 |
|
attribute_set_seen (attr); |
220 |
|
} |
221 |
|
if (expunge) |
222 |
|
status = mailbox_expunge (mbox); |
223 |
|
else |
224 |
|
status = mailbox_save_attributes (mbox); |
225 |
|
return status; |
226 |
|
} |
227 |
|
|
228 |
/* messages */ |
/* messages */ |
229 |
int |
int |
230 |
mailbox_append_message (mailbox_t mbox, message_t msg) |
mailbox_append_message (mailbox_t mbox, message_t msg) |