]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fix
authorTimo Sirainen <tss@iki.fi>
Sun, 5 Oct 2003 17:54:19 +0000 (20:54 +0300)
committerTimo Sirainen <tss@iki.fi>
Sun, 5 Oct 2003 17:54:19 +0000 (20:54 +0300)
--HG--
branch : HEAD

src/lib-index/mbox/mbox-rewrite.c

index 3de730763acb75ac40922f5042824f6b43db4856..089cbc536fd3b071555bfe1c444888c57d07b7b6 100644 (file)
@@ -388,6 +388,7 @@ static int write_header(struct mbox_rewrite_context *ctx,
 static int mbox_write_header(struct mail_index *index,
                             struct mail_index_record *rec, unsigned int seq,
                             struct istream *input, struct ostream *output,
+                            uoff_t dirty_offset,
                             uoff_t *hdr_input_size, uoff_t body_size)
 {
        /* We need to update fields that define message flags. Standard fields
@@ -459,7 +460,8 @@ static int mbox_write_header(struct mail_index *index,
 
        /* write the x-keywords header last so it can fill the extra space
           with spaces. -1 is for ending \n. */
-       (void)mbox_write_xkeywords(&ctx, ctx.x_keywords, input->v_offset - 1,
+       (void)mbox_write_xkeywords(&ctx, ctx.x_keywords,
+                                  input->v_offset - dirty_offset - 1,
                                   force_filler);
        i_free(ctx.x_keywords);
 
@@ -710,6 +712,7 @@ int mbox_index_rewrite(struct mail_index *index)
 
                        /* write header, updating flag fields */
                        if (!mbox_write_header(index, rec, seq, input, output,
+                                              dirty_offset,
                                               &hdr_size, body_size)) {
                                failed = TRUE;
                                break;