mail-cache-fields.c revision 3ccab0bac68040f179a7de45c516cec258e28fdb
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen/* Copyright (c) 2004-2008 Dovecot authors, see the included COPYING file */
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen#define CACHE_FIELD_IS_NEWLY_WANTED(cache, field_idx) \
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen ((cache)->field_file_map[field_idx] == (uint32_t)-1 && \
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenstatic bool field_has_fixed_size(enum mail_cache_field_type type)
return FALSE;
case MAIL_CACHE_FIELD_COUNT:
i_unreached();
return FALSE;
case MAIL_CACHE_DECISION_NO:
case MAIL_CACHE_DECISION_TEMP:
case MAIL_CACHE_DECISION_YES:
return TRUE;
return FALSE;
unsigned int fields_count)
char *name;
unsigned int new_idx;
for (i = 0; i < fields_count; i++) {
for (i = 0; i < fields_count; i++) {
const struct mail_cache_field *
unsigned int *count_r)
return list;
unsigned int next_count = 0;
int ret;
*offset_r = 0;
offset = 0;
while (next_offset != 0) {
sizeof(*field_hdr)) < 0)
if (ret < 0) {
if (ret == 0) {
next_count++;
if (offset == 0) {
if (map) {
if (offset == 0) {
if (new_fields_count != 0) {
new_fields_count * sizeof(unsigned int));
decisions[i];
const void *data;
unsigned int i, field;
if (!add_new)
const int *data;
unsigned int i, field;
if (!add_new)
int ret = 0;
sizeof(uint32_t));
if (ret == 0) {
if (ret == 0) {
if (ret == 0)
return ret;
int ret;
T_BEGIN {
} T_END;
return ret;
T_BEGIN {
} T_END;
return ret;
unsigned int field;
const char *name;
uint32_t i;
sizeof(uint32_t));
sizeof(uint32_t));
if (*offset_r == 0) {