{
struct mailbox_node *node;
enum mailbox_info_flags flags;
- const char *path, *dir, *fname;
+ const char *path, *dir, *fname, *name;
+ unsigned int len;
struct stat st;
node = mailbox_tree_iterate_next(ctx->tree_iter, &ctx->info.name);
return &ctx->info;
}
- path = mailbox_list_get_path(ctx->ctx.list, ctx->info.name,
+ /* if name ends with hierarchy separator, drop the separator */
+ name = ctx->info.name;
+ len = strlen(name);
+ if (len > 0 && name[len-1] == ctx->info.ns->real_sep)
+ name = t_strndup(name, len-1);
+
+ path = mailbox_list_get_path(ctx->ctx.list, name,
MAILBOX_LIST_PATH_TYPE_DIR);
path_split(path, &dir, &fname);
if (ctx->ctx.list->v.get_mailbox_flags(ctx->ctx.list, dir, fname,