struct imapc_simple_context ctx;
cmd = imapc_list_simple_context_init(&ctx, list);
- imapc_command_sendf(cmd, set ? "SUBSCRIBE %s" : "UNSUBSCRIBE %s", name);
+ imapc_command_sendf(cmd, set ? "SUBSCRIBE %s" : "UNSUBSCRIBE %s",
+ imapc_list_to_remote(list, name));
imapc_simple_run(&ctx);
return ctx.ret;
}
}
cmd = imapc_list_simple_context_init(&ctx, list);
- imapc_command_sendf(cmd, "DELETE %s", name);
+ imapc_command_sendf(cmd, "DELETE %s", imapc_list_to_remote(list, name));
imapc_simple_run(&ctx);
if (fs_list != NULL && ctx.ret == 0) {
}
cmd = imapc_list_simple_context_init(&ctx, list);
- imapc_command_sendf(cmd, "RENAME %s %s", oldname, newname);
+ imapc_command_sendf(cmd, "RENAME %s %s",
+ imapc_list_to_remote(list, oldname),
+ imapc_list_to_remote(list, newname));
imapc_simple_run(&ctx);
if (ctx.ret == 0 && fs_list != NULL && oldlist == newlist) {
oldname = imapc_list_get_fs_name(list, oldname);
struct imapc_mailbox *mbox = (struct imapc_mailbox *)box;
struct imapc_command *cmd;
struct imapc_simple_context sctx;
- const char *name = box->name;
+ const char *name = imapc_mailbox_get_remote_name(mbox);
- if (directory) {
+ if (!directory)
+ ;
+ else if (strcmp(box->list->name, MAILBOX_LIST_NAME_IMAPC) == 0) {
+ struct imapc_mailbox_list *imapc_list =
+ (struct imapc_mailbox_list *)box->list;
+ name = t_strdup_printf("%s%c", name, imapc_list->root_sep);
+ } else {
name = t_strdup_printf("%s%c", name,
- mailbox_list_get_hierarchy_sep(box->list));
+ mailbox_list_get_hierarchy_sep(box->list));
}
imapc_simple_context_init(&sctx, mbox->storage->client);
cmd = imapc_client_cmd(mbox->storage->client->client,