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