Mercurial > dovecot > original-hg > dovecot-1.2
diff src/lib-storage/index/index-search.c @ 715:3e952f64b2ec HEAD
Non-envelope-cached header searching wasn't working. Also now search works
with messages having 8bit headers, assuming them being in same charset as
search key.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 30 Nov 2002 16:36:20 +0200 |
parents | 1e5c655bad25 |
children | dd574ac271c1 |
line wrap: on
line diff
--- a/src/lib-storage/index/index-search.c Sat Nov 30 16:02:24 2002 +0200 +++ b/src/lib-storage/index/index-search.c Sat Nov 30 16:36:20 2002 +0200 @@ -556,13 +556,12 @@ if (!have_headers && !have_body && !have_text) return TRUE; - if (!imap_msgcache_get_rfc822(search_open_cache(ctx), &inbuf, - have_headers ? NULL : &hdr_size, NULL)) - return FALSE; - if (have_headers || have_text) { SearchHeaderContext hdr_ctx; + if (!imap_msgcache_get_data(search_open_cache(ctx), &inbuf)) + return FALSE; + memset(&hdr_ctx, 0, sizeof(hdr_ctx)); hdr_ctx.index_context = ctx; hdr_ctx.custom_header = TRUE; @@ -570,6 +569,10 @@ message_parse_header(NULL, inbuf, &hdr_size, search_header, &hdr_ctx); + } else { + if (!imap_msgcache_get_rfc822(search_open_cache(ctx), &inbuf, + &hdr_size, NULL)) + return FALSE; } if (have_text || have_body) {