Lines Matching refs:mail_ctx

330 			       struct mbox_sync_mail_context *mail_ctx,
338 i_zero(mail_ctx);
339 mail_ctx->sync_ctx = sync_ctx;
340 mail_ctx->seq = seq;
341 mail_ctx->header = sync_ctx->header;
344 &mail_ctx->mail.offset) < 0) {
349 mail_ctx->mail.body_size = mails[idx].body_size;
376 if (mbox_sync_parse_next_mail(sync_ctx->input, mail_ctx) < 0)
378 i_assert(mail_ctx->mail.pseudo == mails[idx].pseudo);
388 mbox_sync_headers_remove_space(mail_ctx, (size_t)-1);
390 mbox_sync_update_header_from(mail_ctx, &mails[idx]);
394 if (mail_ctx->have_eoh)
395 str_append_c(mail_ctx->header, '\n');
401 struct mbox_sync_mail_context *mail_ctx,
411 if (mail_ctx == NULL) {
418 mail_ctx = &new_mail_ctx;
420 i_assert(seq == mail_ctx->seq);
421 if (mail_ctx->mail.space < 0)
422 mail_ctx->mail.space = 0;
423 i_stream_seek(sync_ctx->input, mail_ctx->body_offset);
426 if (mail_ctx->mail.space <= 0) {
427 need_space = str_len(mail_ctx->header) - mail_ctx->mail.space -
428 (mail_ctx->body_offset - mail_ctx->hdr_offset);
456 } else if (padding < (uoff_t)mail_ctx->mail.space) {
457 mbox_sync_headers_remove_space(mail_ctx, mail_ctx->mail.space -
460 mbox_sync_headers_add_space(mail_ctx, padding -
461 mail_ctx->mail.space);
474 i_assert(dest_offset >= str_len(mail_ctx->header));
475 dest_offset -= str_len(mail_ctx->header);
477 if (pwrite_full(sync_ctx->write_fd, str_data(mail_ctx->header),
478 str_len(mail_ctx->header), dest_offset) < 0) {
485 mbox_sync_first_mail_written(mail_ctx, dest_offset);
490 (mail_ctx->mail.offset - mail_ctx->hdr_offset);
491 mails[idx].space = mail_ctx->mail.space;
496 struct mbox_sync_mail_context *mail_ctx,
556 if (mbox_sync_read_and_move(sync_ctx, mail_ctx, mails,
598 mail_ctx = NULL;