From: Timo Sirainen Date: Sun, 9 Mar 2003 11:57:35 +0000 (+0200) Subject: cleanup X-Git-Tag: 1.1.alpha1~4814 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9236552f66a3abc2e4c9017eff1a03744a14d197;p=thirdparty%2Fdovecot%2Fcore.git cleanup --HG-- branch : HEAD --- diff --git a/src/lib-index/maildir/maildir-index.c b/src/lib-index/maildir/maildir-index.c index 8ba2260f73..9d6842faf6 100644 --- a/src/lib-index/maildir/maildir-index.c +++ b/src/lib-index/maildir/maildir-index.c @@ -18,6 +18,19 @@ static int maildir_index_open(struct mail_index *index, return mail_index_open(index, flags); } +const char *maildir_get_location(struct mail_index *index, + struct mail_index_record *rec) +{ + const char *fname; + + fname = index->lookup_field(index, rec, DATA_FIELD_LOCATION); + if (fname == NULL) { + index_data_set_corrupted(index->data, + "Missing location field for record %u", rec->uid); + } + return fname; +} + enum mail_flags maildir_filename_get_flags(const char *fname, enum mail_flags default_flags) { @@ -176,12 +189,9 @@ static time_t maildir_get_internal_date(struct mail_index *index, return date; /* stat() gives it */ - fname = index->lookup_field(index, rec, DATA_FIELD_LOCATION); - if (fname == NULL) { - index_data_set_corrupted(index->data, - "Missing location field for record %u", rec->uid); + fname = maildir_get_location(index, rec); + if (fname == NULL) return (time_t)-1; - } if (stat(fname, &st) < 0) { index_file_set_syscall_error(index, fname, "stat()"); @@ -201,12 +211,9 @@ static int maildir_index_update_flags(struct mail_index *index, const char *old_path, *new_path; /* we need to update the flags in the file name */ - old_fname = index->lookup_field(index, rec, DATA_FIELD_LOCATION); - if (old_fname == NULL) { - index_data_set_corrupted(index->data, - "Missing location field for record %u", rec->uid); + old_fname = maildir_get_location(index, rec); + if (old_fname == NULL) return FALSE; - } new_fname = maildir_filename_set_flags(old_fname, flags); diff --git a/src/lib-index/maildir/maildir-index.h b/src/lib-index/maildir/maildir-index.h index 7cbe491ab3..ab75628a32 100644 --- a/src/lib-index/maildir/maildir-index.h +++ b/src/lib-index/maildir/maildir-index.h @@ -8,6 +8,8 @@ struct mail_index *maildir_index_alloc(const char *dir, const char *maildir); +const char *maildir_get_location(struct mail_index *index, + struct mail_index_record *rec); enum mail_flags maildir_filename_get_flags(const char *fname, enum mail_flags default_flags); const char *maildir_filename_set_flags(const char *fname, diff --git a/src/lib-index/maildir/maildir-open.c b/src/lib-index/maildir/maildir-open.c index b56a41ee9d..cd09c74b10 100644 --- a/src/lib-index/maildir/maildir-open.c +++ b/src/lib-index/maildir/maildir-open.c @@ -26,12 +26,9 @@ struct istream *maildir_open_mail(struct mail_index *index, if (index->inconsistent) return NULL; - fname = index->lookup_field(index, rec, DATA_FIELD_LOCATION); - if (fname == NULL) { - index_data_set_corrupted(index->data, - "Missing location field for record %u", rec->uid); + fname = maildir_get_location(index, rec); + if (fname == NULL) return NULL; - } path = t_strconcat(index->mailbox_path, "/cur/", fname, NULL); fd = open(path, O_RDONLY); diff --git a/src/lib-index/maildir/maildir-sync.c b/src/lib-index/maildir/maildir-sync.c index 9072f0b521..2ed62cb403 100644 --- a/src/lib-index/maildir/maildir-sync.c +++ b/src/lib-index/maildir/maildir-sync.c @@ -65,13 +65,9 @@ static int maildir_index_sync_files(struct mail_index *index, const char *dir, rec = index->lookup(index, 1); for (seq = 1; rec != NULL; rec = index->next(index, rec)) { - fname = index->lookup_field(index, rec, DATA_FIELD_LOCATION); - if (fname == NULL) { - index_data_set_corrupted(index->data, - "Missing location field for record %u", - rec->uid); + fname = maildir_get_location(index, rec); + if (fname == NULL) return FALSE; - } t_push();