maildir-save.c revision 0873fc3bd9ad3afda3bb345a6dc7dcb72d60a328
220N/A#include "istream-crlf.h"
#include "ostream.h"
#include "fdatasync-path.h"
#include "eacces-error.h"
#include "str.h"
#include "index-mail.h"
#include "maildir-storage.h"
#include "maildir-uidlist.h"
#include "maildir-keywords.h"
#include "maildir-filename.h"
#include "maildir-sync.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <utime.h>
struct maildir_filename {
const char *pop3_uidl;
unsigned int keywords_count;
struct maildir_save_context {
unsigned int files_count;
int fd;
bool newdir)
static struct mail_save_context *
struct maildir_filename *
unsigned int keyword_count;
sizeof(unsigned int) * keyword_count);
sizeof(unsigned int) * keyword_count);
return mf;
const char *basename)
const char **fname_r)
return TRUE;
return FALSE;
return FALSE;
while (seq > 0) {
seq--;
const char **fname_r)
unsigned int prefix_len;
const char *tmp_fname;
int fd;
return fd;
struct mail_save_context *
return t->save_ctx;
T_BEGIN {
const char *fname;
} T_END;
const char *path)
struct index_transaction_context *t =
const char *path;
int output_errno;
} else if (errno != 0) {
int ret;
T_BEGIN {
} T_END;
return ret;
} T_END;
if (new_changed) {
if (cur_changed) {
static uint32_t
unsigned int i, count;
if (count == 0)
for (i = 0; i < count; i++) {
int ret;
if (ret == 0) {
T_BEGIN {
} T_END;
first_recent_uid = 0;
if (first_recent_uid != 0) {
struct index_transaction_context *t =
&size))
int ret;
T_BEGIN {
const char *dest;
prev_mf);
if (newdir)
} T_END;
if (ret < 0)
int ret;
const char *dest;
if (newdir)
} T_END;
int ret;
if (ret > 0) {
} else if (ret == 0 &&
T_BEGIN {
} T_END;
if (ret == 0) {
ret == 0) < 0)
if (ret < 0)
if (ret < 0) {