Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5318:3a3906587641 HEAD
Create index/control dirs if they don't exist
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 15 Mar 2007 03:47:10 +0200 |
parents | 4bc257a1874e |
children | 0fc29ba873f1 |
files | src/lib-storage/mailbox-list.c |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mailbox-list.c Thu Mar 15 03:34:44 2007 +0200 +++ b/src/lib-storage/mailbox-list.c Thu Mar 15 03:47:10 2007 +0200 @@ -3,6 +3,7 @@ #include "lib.h" #include "array.h" #include "ioloop.h" +#include "mkdir-parents.h" #include "mailbox-list-private.h" #include <time.h> @@ -106,6 +107,17 @@ strcmp(set->control_dir, set->root_dir) == 0 ? NULL : p_strdup(list->pool, set->control_dir); + if (list->set.index_dir != NULL) { + if (mkdir_parents(list->set.index_dir, 0700) < 0 && + errno != EEXIST) + i_error("mkdir(%s) failed: %m", list->set.index_dir); + } + if (list->set.control_dir != NULL) { + if (mkdir_parents(list->set.control_dir, 0700) < 0 && + errno != EEXIST) + i_error("mkdir(%s) failed: %m", list->set.control_dir); + } + list->set.inbox_path = p_strdup(list->pool, set->inbox_path); list->set.subscription_fname = p_strdup(list->pool, set->subscription_fname);