changeset 5908:c5841e705567 HEAD

Code cleanup
author Timo Sirainen <tss@iki.fi>
date Sun, 08 Jul 2007 21:45:06 +0300
parents 2596602b6bd1
children afea0be7e27c
files src/lib-storage/index/maildir/maildir-mail.c
diffstat 1 files changed, 17 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-mail.c	Sun Jul 08 21:42:06 2007 +0300
+++ b/src/lib-storage/index/maildir/maildir-mail.c	Sun Jul 08 21:45:06 2007 +0300
@@ -135,6 +135,20 @@
 	return data->save_date;
 }
 
+static bool
+maildir_mail_get_fname(struct maildir_mailbox *mbox, struct mail *mail,
+		       const char **fname_r)
+{
+	enum maildir_uidlist_rec_flag flags;
+
+	*fname_r = maildir_uidlist_lookup(mbox->uidlist, mail->uid, &flags);
+	if (*fname_r == NULL) {
+		mail_set_expunged(mail);
+		return FALSE;
+	}
+	return TRUE;
+}
+
 static uoff_t maildir_mail_get_virtual_size(struct mail *_mail)
 {
 	struct index_mail *mail = (struct index_mail *)_mail;
@@ -142,7 +156,6 @@
 	struct index_mail_data *data = &mail->data;
 	const char *path, *fname;
 	uoff_t virtual_size;
-        enum maildir_uidlist_rec_flag flags;
 
 	if (data->virtual_size != (uoff_t)-1)
 		return data->virtual_size;
@@ -154,12 +167,8 @@
 	}
 
 	if (_mail->uid != 0) {
-		fname = maildir_uidlist_lookup(mbox->uidlist, _mail->uid,
-					       &flags);
-		if (fname == NULL) {
-			mail_set_expunged(_mail);
+		if (!maildir_mail_get_fname(mbox, _mail, &fname))
 			return (uoff_t)-1;
-		}
 	} else {
 		path = maildir_save_file_get_path(_mail->transaction,
 						  _mail->seq);
@@ -183,17 +192,12 @@
 {
 	struct index_mail *mail = (struct index_mail *)_mail;
 	struct maildir_mailbox *mbox = (struct maildir_mailbox *)mail->ibox;
-	enum maildir_uidlist_rec_flag flags;
 	const char *path, *fname, *end;
 
 	if (field == MAIL_FETCH_UIDL_FILE_NAME) {
 		if (_mail->uid != 0) {
-			fname = maildir_uidlist_lookup(mbox->uidlist,
-						       _mail->uid, &flags);
-			if (fname == NULL) {
-				mail_set_expunged(_mail);
+			if (!maildir_mail_get_fname(mbox, _mail, &fname))
 				return NULL;
-			}
 		} else {
 			path = maildir_save_file_get_path(_mail->transaction,
 							  _mail->seq);
@@ -215,19 +219,14 @@
 	struct stat st;
 	const char *path, *fname;
 	uoff_t size;
-	enum maildir_uidlist_rec_flag flags;
 
 	size = index_mail_get_physical_size(_mail);
 	if (size != (uoff_t)-1)
 		return size;
 
 	if (_mail->uid != 0) {
-		fname = maildir_uidlist_lookup(mbox->uidlist, _mail->uid,
-					       &flags);
-		if (fname == NULL) {
-			mail_set_expunged(_mail);
+		if (!maildir_mail_get_fname(mbox, _mail, &fname))
 			return (uoff_t)-1;
-		}
 		path = NULL;
 	} else {
 		path = maildir_save_file_get_path(_mail->transaction,