dovecot-2.2: lib-storage: Added mailbox_get_path_to() wrapper fo...

dovecot at dovecot.org dovecot at dovecot.org
Tue Sep 25 20:16:22 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/f8c1ddf55b94
changeset: 15100:f8c1ddf55b94
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Sep 25 20:15:58 2012 +0300
description:
lib-storage: Added mailbox_get_path_to() wrapper for mailbox_list_get_path().
Changed the code to use as much of mailbox_get_path_to() and
mailbox_get_path() as possible.

diffstat:

 src/indexer/Makefile.am                                |   1 +
 src/indexer/master-connection.c                        |  10 ++++----
 src/lib-storage/index/cydir/cydir-mail.c               |   3 +-
 src/lib-storage/index/cydir/cydir-save.c               |   6 +---
 src/lib-storage/index/cydir/cydir-sync.c               |   5 +---
 src/lib-storage/index/dbox-common/dbox-storage.c       |   6 +---
 src/lib-storage/index/dbox-single/sdbox-file.c         |   3 +-
 src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c |   4 +-
 src/lib-storage/index/index-rebuild.c                  |   3 +-
 src/lib-storage/index/index-storage.c                  |  12 +++-------
 src/lib-storage/index/index-sync-pvt.c                 |   3 +-
 src/lib-storage/index/index-sync.c                     |   6 +---
 src/lib-storage/index/maildir/maildir-keywords.c       |   3 +-
 src/lib-storage/index/maildir/maildir-sync-index.c     |   3 +-
 src/lib-storage/index/maildir/maildir-uidlist.c        |  19 +++++------------
 src/lib-storage/index/maildir/maildir-util.c           |   6 +---
 src/lib-storage/index/mbox/mbox-storage.c              |   3 +-
 src/lib-storage/mail-storage-private.h                 |   3 ++
 src/lib-storage/mail-storage.c                         |   9 ++++++-
 src/plugins/acl/doveadm-acl.c                          |   3 +-
 src/plugins/fts-squat/fts-backend-squat.c              |   3 +-
 src/plugins/quota/quota-fs.c                           |   3 +-
 22 files changed, 47 insertions(+), 70 deletions(-)

diffs (truncated from 421 to 300 lines):

diff -r 89f8843be67b -r f8c1ddf55b94 src/indexer/Makefile.am
--- a/src/indexer/Makefile.am	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/indexer/Makefile.am	Tue Sep 25 20:15:58 2012 +0300
@@ -7,6 +7,7 @@
 	-I$(top_srcdir)/src/lib-master \
 	-I$(top_srcdir)/src/lib-settings \
 	-I$(top_srcdir)/src/lib-mail \
+	-I$(top_srcdir)/src/lib-index \
 	-I$(top_srcdir)/src/lib-storage \
 	-DPKG_RUNDIR=\""$(rundir)"\"
 
diff -r 89f8843be67b -r f8c1ddf55b94 src/indexer/master-connection.c
--- a/src/indexer/master-connection.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/indexer/master-connection.c	Tue Sep 25 20:15:58 2012 +0300
@@ -9,7 +9,7 @@
 #include "master-service.h"
 #include "master-service-settings.h"
 #include "mail-namespace.h"
-#include "mail-storage.h"
+#include "mail-storage-private.h"
 #include "mail-storage-service.h"
 #include "mail-search-build.h"
 #include "master-connection.h"
@@ -130,14 +130,14 @@
 		return -1;
 	}
 
-	path = mailbox_list_get_path(ns->list, mailbox,
-				     MAILBOX_LIST_PATH_TYPE_INDEX);
+	box = mailbox_alloc(ns->list, mailbox, 0);
+	path = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX);
 	if (*path == '\0') {
 		i_info("Indexes disabled for Mailbox %s, skipping", mailbox);
+		mailbox_free(&box);
 		return 0;
 	}
-
-	box = mailbox_alloc(ns->list, mailbox, 0);
+	
 	if (max_recent_msgs != 0) {
 		/* index only if there aren't too many recent messages.
 		   don't bother syncing the mailbox, that alone can take a
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/cydir/cydir-mail.c
--- a/src/lib-storage/index/cydir/cydir-mail.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/cydir/cydir-mail.c	Tue Sep 25 20:15:58 2012 +0300
@@ -13,8 +13,7 @@
 {
 	const char *dir;
 
-	dir = mailbox_list_get_path(mail->box->list, mail->box->name,
-				    MAILBOX_LIST_PATH_TYPE_MAILBOX);
+	dir = mailbox_get_path(mail->box);
 	return t_strdup_printf("%s/%u.", dir, mail->uid);
 }
 
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/cydir/cydir-save.c
--- a/src/lib-storage/index/cydir/cydir-save.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/cydir/cydir-save.c	Tue Sep 25 20:15:58 2012 +0300
@@ -50,8 +50,7 @@
 {
 	const char *dir;
 
-	dir = mailbox_list_get_path(ctx->mbox->box.list, ctx->mbox->box.name,
-				    MAILBOX_LIST_PATH_TYPE_MAILBOX);
+	dir = mailbox_get_path(&ctx->mbox->box);
 	return t_strdup_printf("%s/%s.%u", dir, ctx->tmp_basename, num);
 }
 
@@ -267,8 +266,7 @@
 				      &_t->changes->saved_uids);
 	_t->changes->uid_validity = ctx->sync_ctx->uid_validity;
 
-	dir = mailbox_list_get_path(ctx->mbox->box.list, ctx->mbox->box.name,
-				    MAILBOX_LIST_PATH_TYPE_MAILBOX);
+	dir = mailbox_get_path(&ctx->mbox->box);
 
 	src_path = t_str_new(256);
 	str_printfa(src_path, "%s/%s.", dir, ctx->tmp_basename);
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/cydir/cydir-sync.c
--- a/src/lib-storage/index/cydir/cydir-sync.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/cydir/cydir-sync.c	Tue Sep 25 20:15:58 2012 +0300
@@ -19,11 +19,8 @@
 static string_t *cydir_get_path_prefix(struct cydir_mailbox *mbox)
 {
 	string_t *path = str_new(default_pool, 256);
-	const char *dir;
 
-	dir = mailbox_list_get_path(mbox->box.list, mbox->box.name,
-				    MAILBOX_LIST_PATH_TYPE_MAILBOX);
-	str_append(path, dir);
+	str_append(path, mailbox_get_path(&mbox->box));
 	str_append_c(path, '/');
 	return path;
 }
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/dbox-common/dbox-storage.c
--- a/src/lib-storage/index/dbox-common/dbox-storage.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/dbox-common/dbox-storage.c	Tue Sep 25 20:15:58 2012 +0300
@@ -139,8 +139,7 @@
 	if (box->notify_callback == NULL)
 		index_mailbox_check_remove_all(box);
 	else {
-		dir = mailbox_list_get_path(box->list, box->name,
-					    MAILBOX_LIST_PATH_TYPE_INDEX);
+		dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX);
 		path = t_strdup_printf("%s/"DBOX_INDEX_PREFIX".log", dir);
 		index_mailbox_check_add(box, path);
 	}
@@ -252,8 +251,7 @@
 
 	/* if alt path already exists and contains files, rebuild storage so
 	   that we don't start overwriting files. */
-	alt_path = mailbox_list_get_path(box->list, box->name,
-					 MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX);
+	alt_path = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX);
 	if (alt_path != NULL && stat(alt_path, &st) == 0) {
 		ret = dir_is_empty(box->storage, alt_path);
 		if (ret < 0)
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/dbox-single/sdbox-file.c
--- a/src/lib-storage/index/dbox-single/sdbox-file.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/dbox-single/sdbox-file.c	Tue Sep 25 20:15:58 2012 +0300
@@ -25,8 +25,7 @@
 	file->file.primary_path =
 		i_strdup_printf("%s/%s", mailbox_get_path(box), fname);
 
-	alt_path = mailbox_list_get_path(box->list, box->name,
-					 MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX);
+	alt_path = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX);
 	if (alt_path != NULL)
 		file->file.alt_path = i_strdup_printf("%s/%s", alt_path, fname);
 }
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
--- a/src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c	Tue Sep 25 20:15:58 2012 +0300
@@ -159,8 +159,8 @@
 	int ret = 0;
 
 	path = mailbox_get_path(ctx->box);
-	alt_path = mailbox_list_get_path(ctx->box->list, ctx->box->name,
-					 MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX);
+	alt_path = mailbox_get_path_to(ctx->box,
+				       MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX);
 
 	sdbox_sync_set_uidvalidity(ctx);
 	if (sdbox_sync_index_rebuild_dir(ctx, path, TRUE) < 0) {
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/index-rebuild.c
--- a/src/lib-storage/index/index-rebuild.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/index-rebuild.c	Tue Sep 25 20:15:58 2012 +0300
@@ -167,8 +167,7 @@
 	mail_cache_reset(box->cache);
 
 	/* if backup index file exists, try to use it */
-	index_dir = mailbox_list_get_path(box->list, box->name,
-					  MAILBOX_LIST_PATH_TYPE_INDEX);
+	index_dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX);
 	backup_path = t_strconcat(box->index_prefix, "/.backup", NULL);
 	ctx->backup_index = mail_index_alloc(index_dir, backup_path);
 
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/index-storage.c
--- a/src/lib-storage/index/index-storage.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/index-storage.c	Tue Sep 25 20:15:58 2012 +0300
@@ -139,11 +139,9 @@
 {
 	const char *index_dir, *mailbox_path;
 
-	mailbox_path = mailbox_list_get_path(box->list, box->name,
-					     MAILBOX_LIST_PATH_TYPE_MAILBOX);
+	mailbox_path = mailbox_get_path(box);
 	index_dir = (box->flags & MAILBOX_FLAG_NO_INDEX_FILES) != 0 ? "" :
-		mailbox_list_get_path(box->list, box->name,
-				      MAILBOX_LIST_PATH_TYPE_INDEX);
+		mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX);
 	if (*index_dir == '\0')
 		index_dir = NULL;
 
@@ -165,8 +163,7 @@
 	const char *path, *path2;
 
 	/* see if it's selectable */
-	path = mailbox_list_get_path(box->list, box->name,
-				     MAILBOX_LIST_PATH_TYPE_MAILBOX);
+	path = mailbox_get_path(box);
 	if (subdir != NULL)
 		path = t_strconcat(path, "/", subdir, NULL);
 	if (stat(path, &st) == 0) {
@@ -180,8 +177,7 @@
 	}
 
 	/* see if it's non-selectable */
-	path2 = mailbox_list_get_path(box->list, box->name,
-				      MAILBOX_LIST_PATH_TYPE_DIR);
+	path2 = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_DIR);
 	if (strcmp(path, path2) != 0 &&
 	    stat(path2, &st) == 0) {
 		*existence_r = MAILBOX_EXISTENCE_NOSELECT;
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/index-sync-pvt.c
--- a/src/lib-storage/index/index-sync-pvt.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/index-sync-pvt.c	Tue Sep 25 20:15:58 2012 +0300
@@ -12,8 +12,7 @@
 	if (box->index_pvt != NULL)
 		return 1;
 
-	index_dir = mailbox_list_get_path(box->list, box->name,
-					  MAILBOX_LIST_PATH_TYPE_INDEX_PRIVATE);
+	index_dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX_PRIVATE);
 	if (index_dir == NULL) {
 		/* no private indexes */
 		return 0;
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/index-sync.c
--- a/src/lib-storage/index/index-sync.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/index-sync.c	Tue Sep 25 20:15:58 2012 +0300
@@ -485,8 +485,7 @@
 		return 1;
 	}
 
-	dir = mailbox_list_get_path(box->list, box->name,
-				    MAILBOX_LIST_PATH_TYPE_INDEX);
+	dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX);
 	path = t_strconcat(dir, "/", box->index_prefix, ".log", NULL);
 	if (stat(path, &st) < 0) {
 		if (errno == ENOENT)
@@ -525,8 +524,7 @@
 		return;
 	old_rec = data;
 
-	dir = mailbox_list_get_path(box->list, box->name,
-				    MAILBOX_LIST_PATH_TYPE_INDEX);
+	dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX);
 	path = t_strconcat(dir, "/", box->index_prefix, ".log", NULL);
 	if (stat(path, &st) < 0) {
 		mail_storage_set_critical(box->storage,
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/maildir/maildir-keywords.c
--- a/src/lib-storage/index/maildir/maildir-keywords.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/maildir/maildir-keywords.c	Tue Sep 25 20:15:58 2012 +0300
@@ -66,8 +66,7 @@
 	struct maildir_keywords *mk;
 	const char *dir;
 
-	dir = mailbox_list_get_path(box->list, box->name,
-				    MAILBOX_LIST_PATH_TYPE_CONTROL);
+	dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_CONTROL);
 
 	mk = i_new(struct maildir_keywords, 1);
 	mk->storage = box->storage;
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/maildir/maildir-sync-index.c
--- a/src/lib-storage/index/maildir/maildir-sync-index.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/maildir/maildir-sync-index.c	Tue Sep 25 20:15:58 2012 +0300
@@ -728,8 +728,7 @@
 		return 1;
 	}
 
-	root_dir = mailbox_list_get_path(box->list, box->name,
-					 MAILBOX_LIST_PATH_TYPE_MAILBOX);
+	root_dir = mailbox_get_path(box);
 
 	/* check if new/ changed */
 	new_dir = t_strconcat(root_dir, "/new", NULL);
diff -r 89f8843be67b -r f8c1ddf55b94 src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Tue Sep 25 17:44:37 2012 +0300
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Tue Sep 25 20:15:58 2012 +0300
@@ -154,10 +154,9 @@
 		return 1;
 	}
 
-        index_storage_lock_notify_reset(uidlist->box);
+        index_storage_lock_notify_reset(box);
 
-	control_dir = mailbox_list_get_path(box->list, box->name,
-					    MAILBOX_LIST_PATH_TYPE_CONTROL);
+	control_dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_CONTROL);
 	path = t_strconcat(control_dir, "/" MAILDIR_UIDLIST_NAME, NULL);
 
 	for (i = 0;; i++) {
@@ -265,8 +264,7 @@
 	struct maildir_uidlist *uidlist;
 	const char *control_dir;
 
-	control_dir = mailbox_list_get_path(box->list, box->name,
-					    MAILBOX_LIST_PATH_TYPE_CONTROL);
+	control_dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_CONTROL);
 
 	uidlist = i_new(struct maildir_uidlist, 1);
 	uidlist->box = box;
@@ -1396,8 +1394,7 @@
 
 	maildir_uidlist_records_drop_expunges(uidlist);
 
-	control_dir = mailbox_list_get_path(box->list, box->name,
-					    MAILBOX_LIST_PATH_TYPE_CONTROL);
+	control_dir = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_CONTROL);
 	temp_path = t_strconcat(control_dir,
 				"/" MAILDIR_UIDLIST_NAME ".tmp", NULL);
 
@@ -1760,7 +1757,7 @@
 {
 	struct maildir_uidlist *uidlist = ctx->uidlist;
 	struct maildir_uidlist_rec *rec, *old_rec;
-	const char *p, *dir;
+	const char *p;
 
 	*rec_r = NULL;


More information about the dovecot-cvs mailing list