Lines Matching defs:_mail
185 static int lazy_expunge_mail_is_last_instance(struct mail *_mail)
188 LAZY_EXPUNGE_CONTEXT_REQUIRE(_mail->transaction);
193 if (mail_get_special(_mail, MAIL_FETCH_REFCOUNT, &value) < 0) {
194 errstr = mailbox_get_last_internal_error(_mail->box, &error);
199 mail_set_critical(_mail,
218 if (mail_get_special(_mail, MAIL_FETCH_GUID, &value) < 0) {
219 errstr = mailbox_get_last_internal_error(_mail->box, &error);
224 mail_set_critical(_mail,
231 mail_set_critical(_mail,
285 static void lazy_expunge_mail_expunge(struct mail *_mail)
287 struct mail_namespace *ns = _mail->box->list->ns;
290 struct mail_private *mail = (struct mail_private *)_mail;
293 LAZY_EXPUNGE_CONTEXT_REQUIRE(_mail->transaction);
303 mmail->module_ctx.super.expunge(_mail);
312 if (mail_get_backend_mail(_mail, &real_mail) < 0) {
313 lazy_expunge_set_error(lt, _mail->box->storage);
317 mmail->module_ctx.super.expunge(_mail);
327 else if ((ret = lazy_expunge_mail_is_last_instance(_mail)) < 0) {
328 lazy_expunge_set_error(lt, _mail->box->storage);
332 mmail->module_ctx.super.expunge(_mail);
339 _mail->box, &error);
341 mail_set_critical(_mail,
344 lazy_expunge_set_error(lt, _mail->box->storage);
348 mail_set_critical(_mail,
361 mailbox_save_copy_flags(save_ctx, _mail);
365 if (mailbox_move(&save_ctx, _mail) < 0 && !_mail->expunged)
370 static int lazy_expunge_copy(struct mail_save_context *ctx, struct mail *_mail)
372 struct mail_private *mail = (struct mail_private *)_mail;
379 return mbox->super.copy(ctx, _mail);
457 static void lazy_expunge_mail_allocated(struct mail *_mail)
460 LAZY_EXPUNGE_CONTEXT(_mail->transaction);
461 struct mail_private *mail = (struct mail_private *)_mail;