#include <fcntl.h>
struct mail_cache_field global_cache_fields[MAIL_INDEX_CACHE_FIELD_COUNT] = {
- { "flags", 0, MAIL_CACHE_FIELD_BITMASK, sizeof(uint32_t), 0 },
- { "date.sent", 0, MAIL_CACHE_FIELD_FIXED_SIZE,
- sizeof(struct mail_sent_date), 0 },
- { "date.received", 0, MAIL_CACHE_FIELD_FIXED_SIZE,
- sizeof(uint32_t), 0 },
- { "date.save", 0, MAIL_CACHE_FIELD_FIXED_SIZE,
- sizeof(uint32_t), 0 },
- { "size.virtual", 0, MAIL_CACHE_FIELD_FIXED_SIZE,
- sizeof(uoff_t), 0 },
- { "size.physical", 0, MAIL_CACHE_FIELD_FIXED_SIZE,
- sizeof(uoff_t), 0 },
- { "imap.body", 0, MAIL_CACHE_FIELD_STRING, 0, 0 },
- { "imap.bodystructure", 0, MAIL_CACHE_FIELD_STRING, 0, 0 },
- { "imap.envelope", 0, MAIL_CACHE_FIELD_STRING, 0, 0 },
- { "pop3.uidl", 0, MAIL_CACHE_FIELD_STRING, 0, 0 },
- { "guid", 0, MAIL_CACHE_FIELD_STRING, 0, 0 },
- { "mime.parts", 0, MAIL_CACHE_FIELD_VARIABLE_SIZE, 0, 0 }
+ { .name = "flags",
+ .type = MAIL_CACHE_FIELD_BITMASK,
+ .field_size = sizeof(uint32_t) },
+ { .name = "date.sent",
+ .type = MAIL_CACHE_FIELD_FIXED_SIZE,
+ .field_size = sizeof(struct mail_sent_date) },
+ { .name = "date.received",
+ .type = MAIL_CACHE_FIELD_FIXED_SIZE,
+ .field_size = sizeof(uint32_t) },
+ { .name = "date.save",
+ .type = MAIL_CACHE_FIELD_FIXED_SIZE,
+ .field_size = sizeof(uint32_t) },
+ { .name = "size.virtual",
+ .type = MAIL_CACHE_FIELD_FIXED_SIZE,
+ .field_size = sizeof(uoff_t) },
+ { .name = "size.physical",
+ .type = MAIL_CACHE_FIELD_FIXED_SIZE,
+ .field_size = sizeof(uoff_t) },
+ { .name = "imap.body",
+ .type = MAIL_CACHE_FIELD_STRING },
+ { .name = "imap.bodystructure",
+ .type = MAIL_CACHE_FIELD_STRING },
+ { .name = "imap.envelope",
+ .type = MAIL_CACHE_FIELD_STRING },
+ { .name = "pop3.uidl",
+ .type = MAIL_CACHE_FIELD_STRING },
+ { .name = "guid",
+ .type = MAIL_CACHE_FIELD_STRING },
+ { .name = "mime.parts",
+ .type = MAIL_CACHE_FIELD_VARIABLE_SIZE }
};
static int index_mail_parse_body(struct index_mail *mail,