# HG changeset patch # User Timo Sirainen # Date 1047211055 -7200 # Node ID 359334706e655aabbcbfde43024e0f1cc458930b # Parent ddb4ebbf32a9d59b38c69df5f1d13f929477c7eb cleanup diff -r ddb4ebbf32a9 -r 359334706e65 src/lib-index/maildir/maildir-index.c --- a/src/lib-index/maildir/maildir-index.c Sun Mar 09 12:03:35 2003 +0200 +++ b/src/lib-index/maildir/maildir-index.c Sun Mar 09 13:57:35 2003 +0200 @@ -18,6 +18,19 @@ 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 @@ 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 @@ 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 -r ddb4ebbf32a9 -r 359334706e65 src/lib-index/maildir/maildir-index.h --- a/src/lib-index/maildir/maildir-index.h Sun Mar 09 12:03:35 2003 +0200 +++ b/src/lib-index/maildir/maildir-index.h Sun Mar 09 13:57:35 2003 +0200 @@ -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 -r ddb4ebbf32a9 -r 359334706e65 src/lib-index/maildir/maildir-open.c --- a/src/lib-index/maildir/maildir-open.c Sun Mar 09 12:03:35 2003 +0200 +++ b/src/lib-index/maildir/maildir-open.c Sun Mar 09 13:57:35 2003 +0200 @@ -26,12 +26,9 @@ 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 -r ddb4ebbf32a9 -r 359334706e65 src/lib-index/maildir/maildir-sync.c --- a/src/lib-index/maildir/maildir-sync.c Sun Mar 09 12:03:35 2003 +0200 +++ b/src/lib-index/maildir/maildir-sync.c Sun Mar 09 13:57:35 2003 +0200 @@ -65,13 +65,9 @@ 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();