return NULL;
}
if (array_not_empty(&set->special_use)) {
+ const char *flags =
+ t_array_const_string_join(&set->special_use, " ");
ctx->specialuse_info = *info;
+ i_free(ctx->specialuse_info_flags);
+ ctx->specialuse_info_flags = i_strdup(flags);
ctx->specialuse_info.special_use =
- t_array_const_string_join(&set->special_use, " ");
+ ctx->specialuse_info_flags;
info = &ctx->specialuse_info;
}
settings_free(set);
return -1;
if (ctx->autocreate_ctx != NULL)
hash_table_destroy(&ctx->autocreate_ctx->duplicate_vnames);
+ i_free(ctx->specialuse_info_flags);
return ctx->list->v.iter_deinit(ctx);
}
struct imap_match_glob *glob;
struct mailbox_list_autocreate_iterate_context *autocreate_ctx;
struct mailbox_info specialuse_info;
+ char *specialuse_info_flags;
ARRAY(union mailbox_list_iterate_module_context *) module_contexts;
HASH_TABLE(const char *, void*) found_mailboxes;