dovecot-2.1: doveadm instance remove: Allow removing using name ...
dovecot at dovecot.org
dovecot at dovecot.org
Wed Feb 8 22:50:30 EET 2012
details: http://hg.dovecot.org/dovecot-2.1/rev/448c48968174
changeset: 14075:448c48968174
user: Timo Sirainen <tss at iki.fi>
date: Wed Feb 08 22:50:20 2012 +0200
description:
doveadm instance remove: Allow removing using name as well as base dir.
diffstat:
src/doveadm/doveadm-instance.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diffs (31 lines):
diff -r 06c9a46f35a8 -r 448c48968174 src/doveadm/doveadm-instance.c
--- a/src/doveadm/doveadm-instance.c Wed Feb 08 22:07:01 2012 +0200
+++ b/src/doveadm/doveadm-instance.c Wed Feb 08 22:50:20 2012 +0200
@@ -74,13 +74,17 @@
static void cmd_instance_remove(int argc, char *argv[])
{
struct master_instance_list *list;
+ const struct master_instance *inst;
+ const char *base_dir;
int ret;
if (argc != 2)
instance_cmd_help(cmd_instance_remove);
list = master_instance_list_init(MASTER_INSTANCE_PATH);
- if ((ret = master_instance_list_remove(list, argv[1])) < 0)
+ inst = master_instance_list_find_by_name(list, argv[1]);
+ base_dir = inst != NULL ? inst->base_dir : argv[1];
+ if ((ret = master_instance_list_remove(list, base_dir)) < 0)
i_error("Failed to remove instance");
else if (ret == 0)
i_error("Instance already didn't exist");
@@ -89,7 +93,7 @@
struct doveadm_cmd doveadm_cmd_instance[] = {
{ cmd_instance_list, "instance list", "" },
- { cmd_instance_remove, "instance remove", "<base dir>" }
+ { cmd_instance_remove, "instance remove", "<name> | <base dir>" }
};
static void instance_cmd_help(doveadm_command_t *cmd)
More information about the dovecot-cvs
mailing list