return 0;
}
-static void
-mailbox_list_delete_until_root(struct mailbox_list *list, const char *path,
- enum mailbox_list_path_type type)
+void mailbox_list_delete_until_root(struct mailbox_list *list, const char *path,
+ enum mailbox_list_path_type type)
{
const char *root_dir, *p;
unsigned int len;
#ifndef MAILBOX_LIST_DELETE_H
#define MAILBOX_LIST_DELETE_H
+enum mailbox_list_path_type;
+
int mailbox_list_delete_maildir_via_trash(struct mailbox_list *list,
const char *name,
const char *trash_dir);
bool rmdir_path);
void mailbox_list_delete_finish(struct mailbox_list *list, const char *name);
+void mailbox_list_delete_until_root(struct mailbox_list *list, const char *path,
+ enum mailbox_list_path_type type);
+
#endif
"rmdir(%s) failed: %m", oldpath);
}
}
+
+ /* avoid leaving empty directories lying around */
+ mailbox_list_delete_until_root(oldlist, oldpath, type);
return 0;
}