dbox-storage.c (dovecot-2.3.16) | : | dbox-storage.c (dovecot-2.3.17) | ||
---|---|---|---|---|
skipping to change at line 327 | skipping to change at line 327 | |||
{ | { | |||
struct dbox_storage *storage = DBOX_STORAGE(box->storage); | struct dbox_storage *storage = DBOX_STORAGE(box->storage); | |||
const char *alt_path; | const char *alt_path; | |||
struct stat st; | struct stat st; | |||
int ret; | int ret; | |||
if ((ret = index_storage_mailbox_create(box, directory)) <= 0) | if ((ret = index_storage_mailbox_create(box, directory)) <= 0) | |||
return ret; | return ret; | |||
if (mailbox_open(box) < 0) | if (mailbox_open(box) < 0) | |||
return -1; | return -1; | |||
if (mail_index_get_header(box->view)->uid_validity != 0 && | ||||
if (mail_index_get_header(box->view)->uid_validity != 0) { | !box->storage->rebuilding_list_index) { | |||
mail_storage_set_error(box->storage, MAIL_ERROR_EXISTS, | mail_storage_set_error(box->storage, MAIL_ERROR_EXISTS, | |||
"Mailbox already exists"); | "Mailbox already exists"); | |||
return -1; | return -1; | |||
} | } | |||
/* if alt path already exists and contains files, rebuild storage so | /* if alt path already exists and contains files, rebuild storage so | |||
that we don't start overwriting files. */ | that we don't start overwriting files. */ | |||
ret = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX, &alt_p ath); | ret = mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX, &alt_p ath); | |||
if (ret > 0 && stat(alt_path, &st) == 0) { | if (ret > 0 && stat(alt_path, &st) == 0) { | |||
ret = dir_is_empty(box->storage, alt_path); | ret = dir_is_empty(box->storage, alt_path); | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added |