[dovecot-cvs] dovecot/src/lib-index/maildir maildir-index.c,1.25,1.26 maildir-index.h,1.14,1.15 maildir-open.c,1.14,1.15 maildir-sync.c,1.29,1.30

cras at procontrol.fi cras at procontrol.fi
Sun Mar 9 13:57:37 EET 2003


Update of /home/cvs/dovecot/src/lib-index/maildir
In directory danu:/tmp/cvs-serv13761

Modified Files:
	maildir-index.c maildir-index.h maildir-open.c maildir-sync.c 
Log Message:
cleanup



Index: maildir-index.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-index.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- maildir-index.c	6 Mar 2003 19:23:45 -0000	1.25
+++ maildir-index.c	9 Mar 2003 11:57:35 -0000	1.26
@@ -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);
 

Index: maildir-index.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-index.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- maildir-index.h	11 Feb 2003 15:07:31 -0000	1.14
+++ maildir-index.h	9 Mar 2003 11:57:35 -0000	1.15
@@ -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: maildir-open.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-open.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- maildir-open.c	5 Jan 2003 13:09:52 -0000	1.14
+++ maildir-open.c	9 Mar 2003 11:57:35 -0000	1.15
@@ -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);

Index: maildir-sync.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/maildir/maildir-sync.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- maildir-sync.c	8 Feb 2003 19:09:40 -0000	1.29
+++ maildir-sync.c	9 Mar 2003 11:57:35 -0000	1.30
@@ -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();
 




More information about the dovecot-cvs mailing list