[dovecot-cvs] dovecot/src/lib-storage/index index-mail.c,1.19,1.20
cras at procontrol.fi
cras at procontrol.fi
Thu Aug 21 04:33:04 EEST 2003
Update of /home/cvs/dovecot/src/lib-storage/index
In directory danu:/tmp/cvs-serv19993/lib-storage/index
Modified Files:
index-mail.c
Log Message:
bugfix
Index: index-mail.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/index-mail.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- index-mail.c 21 Aug 2003 00:04:11 -0000 1.19
+++ index-mail.c 21 Aug 2003 00:33:02 -0000 1.20
@@ -413,6 +413,15 @@
return data->size;
}
+static void parse_bodystructure_header(struct message_part *part,
+ struct message_header_line *hdr,
+ void *context)
+{
+ pool_t pool = context;
+
+ imap_bodystructure_parse_header(pool, part, hdr);
+}
+
static int index_mail_parse_body(struct index_mail *mail)
{
struct index_mail_data *data = &mail->data;
@@ -423,7 +432,13 @@
i_stream_seek(data->stream, data->hdr_size.physical_size);
- message_parser_parse_body(data->parser_ctx, NULL, NULL, NULL);
+ if (data->bodystructure_header_parsed) {
+ message_parser_parse_body(data->parser_ctx,
+ parse_bodystructure_header,
+ NULL, mail->pool);
+ } else {
+ message_parser_parse_body(data->parser_ctx, NULL, NULL, NULL);
+ }
data->parts = message_parser_deinit(data->parser_ctx);
data->parser_ctx = NULL;
@@ -510,15 +525,6 @@
i_stream_seek(data->stream, 0);
return data->stream;
-}
-
-static void parse_bodystructure_header(struct message_part *part,
- struct message_header_line *hdr,
- void *context)
-{
- pool_t pool = context;
-
- imap_bodystructure_parse_header(pool, part, hdr);
}
static const char *get_special(struct mail *_mail, enum mail_fetch_field field)
More information about the dovecot-cvs
mailing list