Mercurial > dovecot > original-hg > dovecot-1.2
changeset 3325:38eaa792c405 HEAD
Don't call index_mail_parse_header() twice when searching headers. Caused
assert-crashes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 23 Apr 2005 19:51:21 +0300 |
parents | 2a8ff9cbb50b |
children | 5949ce51755b |
files | src/lib-storage/index/index-search.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/index-search.c Sat Apr 23 18:52:16 2005 +0300 +++ b/src/lib-storage/index/index-search.c Sat Apr 23 19:51:21 2005 +0300 @@ -33,7 +33,7 @@ pool_t hdr_pool; const char *error; - int failed; + unsigned int failed:1; }; struct search_header_context { @@ -42,6 +42,7 @@ struct message_header_line *hdr; + unsigned int parse_headers:1; unsigned int custom_header:1; unsigned int threading:1; }; @@ -423,7 +424,8 @@ if (hdr->eoh) return; - index_mail_parse_header(NULL, hdr, ctx->index_context->imail); + if (ctx->parse_headers) + index_mail_parse_header(NULL, hdr, ctx->index_context->imail); if (ctx->custom_header || strcasecmp(hdr->name, "Date") == 0) { ctx->hdr = hdr; @@ -498,6 +500,7 @@ hdr_ctx.index_context = ctx; hdr_ctx.custom_header = TRUE; hdr_ctx.args = args; + hdr_ctx.parse_headers = headers == NULL; index_mail_parse_header_init(ctx->imail, headers_ctx); message_parse_header(NULL, input, NULL,