cydir_list_delete_mailbox(struct mailbox_list *list, const char *name);
static int cydir_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags);
static int cydir_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx
ATTR_UNUSED,
const char *dir, const char *fname,
+ const char *mailbox_name ATTR_UNUSED,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags)
{
const char *oldname, const char *newname);
static int dbox_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags);
static int dbox_storage_mailbox_close(struct mailbox *box)
{
struct dbox_mailbox *mbox = (struct dbox_mailbox *)box;
- int ret;
+ int ret = 0;
if (box->opened) {
/* see if we want to flush dirty flags */
static int dbox_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx
ATTR_UNUSED,
const char *dir, const char *fname,
+ const char *mailbox_name ATTR_UNUSED,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags)
{
maildir_list_rename_mailbox(struct mailbox_list *list,
const char *oldname, const char *newname);
static int
-maildir_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx
- ATTR_UNUSED,
+maildir_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags_r);
static int
maildirplusplus_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags_r);
maildir_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx
ATTR_UNUSED,
const char *dir, const char *fname,
+ const char *mailbox_name ATTR_UNUSED,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags_r)
{
static int
maildirplusplus_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name ATTR_UNUSED,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags_r)
{
cached next_offset? */
i_error("Next message unexpectedly lost from %"PRIuUOFF_T,
rstream->hdr_offset + rstream->mail_size);
+ sleep(3600);
rstream->eof = TRUE;
rstream->corrupted = TRUE;
return -1;
static int mbox_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags);
static int mbox_list_delete_mailbox(struct mailbox_list *list,
static int mbox_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name ATTR_UNUSED,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags_r)
{
static int raw_list_delete_mailbox(struct mailbox_list *list, const char *name);
static int raw_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags);
static int raw_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name ATTR_UNUSED,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags_r)
{
inbox_path = mailbox_list_get_path(ctx->ctx.list, "INBOX",
MAILBOX_LIST_PATH_TYPE_DIR);
path_split(inbox_path, &dir, &fname);
- if (ctx->ctx.list->v.iter_is_mailbox(&ctx->ctx, dir, fname,
+ if (ctx->ctx.list->v.iter_is_mailbox(&ctx->ctx, dir, fname, "INBOX",
MAILBOX_LIST_FILE_TYPE_UNKNOWN,
&ctx->info.flags) < 0)
ctx->ctx.failed = TRUE;
ctx->info.flags = 0;
ret = ctx->ctx.list->v.
iter_is_mailbox(&ctx->ctx, ctx->dir->real_path, fname,
- entry->type, &ctx->info.flags);
+ list_path, entry->type, &ctx->info.flags);
if (ret <= 0)
return ret;
MAILBOX_LIST_PATH_TYPE_DIR);
path_split(path, &dir, &fname);
if (ctx->ctx.list->v.iter_is_mailbox(&ctx->ctx, dir, fname,
+ ctx->info.name,
MAILBOX_LIST_FILE_TYPE_UNKNOWN,
&ctx->info.flags) < 0)
ctx->ctx.failed = TRUE;
T_BEGIN {
ret = ctx->ctx.list->v.
iter_is_mailbox(&ctx->ctx, ctx->dir, fname,
+ mailbox_name,
mailbox_list_get_file_type(d), &flags);
} T_END;
if (ret <= 0) {
imap_match(glob, "INBOX") == IMAP_MATCH_YES) {
/* see if INBOX exists. */
ret = ctx->ctx.list->v.
- iter_is_mailbox(&ctx->ctx, ctx->dir, "",
+ iter_is_mailbox(&ctx->ctx, ctx->dir, "", "INBOX",
MAILBOX_LIST_FILE_TYPE_UNKNOWN, &flags);
if (ret > 0) {
node = mailbox_tree_get(ctx->tree_ctx,
flags may be updated (especially the children flags). */
int (*iter_is_mailbox)(struct mailbox_list_iterate_context *ctx,
const char *dir, const char *fname,
+ const char *mailbox_name,
enum mailbox_list_file_type type,
enum mailbox_info_flags *flags_r);