]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
cleanup
authorTimo Sirainen <tss@iki.fi>
Sun, 9 Mar 2003 11:57:35 +0000 (13:57 +0200)
committerTimo Sirainen <tss@iki.fi>
Sun, 9 Mar 2003 11:57:35 +0000 (13:57 +0200)
--HG--
branch : HEAD

src/lib-index/maildir/maildir-index.c
src/lib-index/maildir/maildir-index.h
src/lib-index/maildir/maildir-open.c
src/lib-index/maildir/maildir-sync.c

index 8ba2260f73bd2ecebe05798a1c98f6443bddc906..9d6842faf6239e9ce9abdf240c575649d3f4277f 100644 (file)
@@ -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);
 
index 7cbe491ab343cee0c01ddabf1cfd775638adf884..ab75628a32d7f6700091b3ce12945a0c17fe2837 100644 (file)
@@ -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,
index b56a41ee9da4ac522649c68cdb9d500dfc2d8eac..cd09c74b1096c553b62a5b2213e450d3e56b6e10 100644 (file)
@@ -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);
index 9072f0b52118559265a0a39db170d2da0b93b046..2ed62cb403dbfe21c6519d648b05aa2644b7d443 100644 (file)
@@ -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();