changeset 6996:021b6900a900 HEAD

Check if we have maildir quota storages at all before trying to expunge messages.
author Timo Sirainen <tss@iki.fi>
date Mon, 17 Dec 2007 17:32:26 +0200
parents 2e9fcf711fc4
children 0008fb28e62b
files src/plugins/quota/quota-maildir.c
diffstat 1 files changed, 14 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/quota/quota-maildir.c	Mon Dec 17 17:25:40 2007 +0200
+++ b/src/plugins/quota/quota-maildir.c	Mon Dec 17 17:32:26 2007 +0200
@@ -526,21 +526,24 @@
 	}
 }
 
-static int maildirquota_refresh(struct maildir_quota_root *root)
+static bool maildirquota_limits_init(struct maildir_quota_root *root)
 {
-	int ret;
-
 	if (!root->limits_initialized) {
 		maildirquota_init_limits(root);
 		if (root->maildirsize_path == NULL) {
 			i_warning("quota maildir: No maildir storages, "
 				  "ignoring quota.");
-			return 0;
 		}
-	} else {
-		if (root->maildirsize_path == NULL)
-			return 0;
 	}
+	return root->maildirsize_path != NULL;
+}
+
+static int maildirquota_refresh(struct maildir_quota_root *root)
+{
+	int ret;
+
+	if (!maildirquota_limits_init(root))
+		return 0;
 
 	T_FRAME(
 		ret = maildirsize_read(root);
@@ -697,6 +700,10 @@
 	struct maildir_quota_root *root =
 		(struct maildir_quota_root *) _root;
 
+	if (!maildirquota_limits_init(root)) {
+		/* no limits */
+		return 0;
+	}
 	/* make sure the latest file is opened. */
 	(void)maildirsize_open(root);