mail-index-sync-update.c revision eb4e310cbf876dea5c1a5e5e0da1ba52b0c42208
2N/A#include "file-set-size.h"
2N/A#include "mmap-util.h"
2N/A#include "mail-index-view-private.h"
2N/A#include "mail-index-sync-private.h"
2N/A#include "mail-transaction-log.h"
2N/A#include "mail-transaction-util.h"
2N/A if (handlers_count == 0)
32N/A sizeof(struct mail_index_ext));
if (seq1 == 0)
for (i = 0; i < expunge_handlers_count; i++) {
void *dest;
void *context)
int update_keywords;
if (seq1 == 0)
for (i = 0; i < INDEX_KEYWORDS_BYTE_COUNT; i++) {
if (u->add_keywords[i] != 0 ||
u->remove_keywords[i] != 0)
if (update_keywords) {
for (i = 0; i < INDEX_KEYWORDS_BYTE_COUNT; i++) {
void *context)
static struct mail_index_ext_header *
void *hdr_base;
return ext_hdr;
static struct mail_index_map *
const void *src;
t_push();
for (i = 0; i < size; i++) {
for (i = 0; i < size; i++) {
if (i == size) {
offset = 0;
sizeof(struct mail_index_record));
for (i = 0; i < size; i++) {
for (i = 0; i < size; i++) {
t_pop();
return new_map;
if (modified) {
void *context)
const char *name;
t_push();
t_pop();
u->reset_id);
t_pop();
void *context)
uint32_t i;
void *context)
void *context)
void *old_data;
int ret;
if (seq == 0)
if (ret <= 0)
return ret;
unsigned int count)
void *hdr_copy;
t_push();
t_pop();
t_pop();
const int max_days =
int i, days;
const void *data)
int ret = 0;
case MAIL_TRANSACTION_APPEND: {
if (ret <= 0)
case MAIL_TRANSACTION_EXPUNGE:
if (ret <= 0)
case MAIL_TRANSACTION_FLAG_UPDATE: {
if (ret <= 0)
case MAIL_TRANSACTION_HEADER_UPDATE: {
if (ret <= 0)
case MAIL_TRANSACTION_EXT_INTRO: {
if (ret <= 0)
case MAIL_TRANSACTION_EXT_RESET: {
case MAIL_TRANSACTION_EXT_HDR_UPDATE: {
if (ret <= 0)
case MAIL_TRANSACTION_EXT_REC_UPDATE: {
unsigned int record_size;
if (ret <= 0)
i_unreached();
return ret;
int sync_only_external)
const void *data;
if (had_dirty)
first_append_uid = 0;
if (sync_only_external) {
} else if (check_ext_offsets) {
&prev_seq,
&prev_offset);
if (first_append_uid == 0)
if (ret < 0) {
if (!sync_only_external)
if (first_append_uid != 0)
had_dirty) {
return ret;