Mercurial > dovecot > original-hg > dovecot-1.2
changeset 3461:b7ce2532250a HEAD
Added mail_cache_register_get_list() to get a list of all registered fields
in cache file.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 03 Jul 2005 18:09:16 +0300 |
parents | e8cbf3ae00db |
children | 19daba35107a |
files | src/lib-index/mail-cache-fields.c src/lib-index/mail-cache.h |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-cache-fields.c Sun Jul 03 17:18:53 2005 +0300 +++ b/src/lib-index/mail-cache-fields.c Sun Jul 03 18:09:16 2005 +0300 @@ -85,6 +85,21 @@ return (unsigned int)-1; } +const struct mail_cache_field * +mail_cache_register_get_list(struct mail_cache *cache, pool_t pool, + unsigned int *count_r) +{ + struct mail_cache_field *list; + unsigned int i; + + list = p_new(pool, struct mail_cache_field, cache->fields_count); + for (i = 0; i < cache->fields_count; i++) + list[i] = cache->fields[i].field; + + *count_r = cache->fields_count; + return list; +} + static int mail_cache_header_fields_get_offset(struct mail_cache *cache, uint32_t *offset_r) {
--- a/src/lib-index/mail-cache.h Sun Jul 03 17:18:53 2005 +0300 +++ b/src/lib-index/mail-cache.h Sun Jul 03 18:09:16 2005 +0300 @@ -49,6 +49,10 @@ /* Returns registered field index, or (unsigned int)-1 if not found. */ unsigned int mail_cache_register_lookup(struct mail_cache *cache, const char *name); +/* Returns a list of all registered fields */ +const struct mail_cache_field * +mail_cache_register_get_list(struct mail_cache *cache, pool_t pool, + unsigned int *count_r); /* Returns TRUE if cache should be compressed. */ int mail_cache_need_compress(struct mail_cache *cache);