changeset 19551:9ce21ee21fe7

lib-storage: Fixed autoexpunge=yes to work with namespace's root mailbox. namespace { mailbox "" { autoexpunge = .. } }
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 13 Jan 2016 11:22:20 +0200
parents 596abdda5081
children 0f22db71df7a
files src/lib-storage/mail-autoexpunge.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-autoexpunge.c	Wed Dec 23 14:45:08 2015 +0200
+++ b/src/lib-storage/mail-autoexpunge.c	Wed Jan 13 11:22:20 2016 +0200
@@ -73,7 +73,11 @@
 		    (unsigned int)ioloop_time < (*box_set)->autoexpunge)
 			continue;
 
-		vname = t_strconcat(ns->prefix, (*box_set)->name, NULL);
+		if ((*box_set)->name[0] == '\0' && ns->prefix_len > 0 &&
+		    ns->prefix[ns->prefix_len-1] == mail_namespace_get_sep(ns))
+			vname = t_strndup(ns->prefix, ns->prefix_len - 1);
+		else
+			vname = t_strconcat(ns->prefix, (*box_set)->name, NULL);
 		expire_time = ioloop_time - (*box_set)->autoexpunge;
 		box = mailbox_alloc(ns->list, vname, 0);
 		if (mailbox_autoexpunge(box, expire_time) < 0) {