changeset 19831:1b79ff2f108b

doveadm: Fixed usage printing for ver2 commands
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 22 Feb 2016 22:10:42 +0200
parents 534d3c8e045d
children 5776b68902a8
files src/doveadm/doveadm-mail.c src/doveadm/doveadm.c
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail.c	Mon Feb 22 22:02:03 2016 +0200
+++ b/src/doveadm/doveadm-mail.c	Mon Feb 22 22:10:42 2016 +0200
@@ -782,8 +782,13 @@
 
 void doveadm_mail_try_help_name(const char *cmd_name)
 {
+	const struct doveadm_cmd_ver2 *cmd2;
 	const struct doveadm_mail_cmd *cmd;
 
+	cmd2 = doveadm_cmd_find_ver2(cmd_name);
+	if (cmd2 != NULL)
+		help_ver2(cmd2);
+
 	cmd = doveadm_mail_cmd_find(cmd_name);
 	if (cmd != NULL)
 		doveadm_mail_help(cmd);
--- a/src/doveadm/doveadm.c	Mon Feb 22 22:02:03 2016 +0200
+++ b/src/doveadm/doveadm.c	Mon Feb 22 22:10:42 2016 +0200
@@ -110,6 +110,7 @@
 static void ATTR_NORETURN
 usage_to(FILE *out, const char *prefix)
 {
+	const struct doveadm_cmd_ver2 *cmd2;
 	const struct doveadm_cmd *cmd;
 	string_t *str = t_str_new(1024);
 
@@ -120,6 +121,8 @@
 
 	array_foreach(&doveadm_cmds, cmd)
 		str_printfa(str, "%s\t%s\n", cmd->name, cmd->short_usage);
+	array_foreach(&doveadm_cmds_ver2, cmd2)
+		str_printfa(str, "%s\t%s\n", cmd2->name, cmd2->usage);
 
 	doveadm_mail_usage(str);
 	doveadm_usage_compress_lines(out, str_c(str), prefix);
@@ -219,6 +222,7 @@
 
 static bool doveadm_has_subcommands(const char *cmd_name)
 {
+	const struct doveadm_cmd_ver2 *cmd2;
 	const struct doveadm_cmd *cmd;
 	unsigned int len = strlen(cmd_name);
 
@@ -227,6 +231,11 @@
 		    cmd->name[len] == ' ')
 			return TRUE;
 	}
+	array_foreach(&doveadm_cmds_ver2, cmd2) {
+		if (strncmp(cmd2->name, cmd_name, len) == 0 &&
+		    cmd2->name[len] == ' ')
+			return TRUE;
+	}
 	return doveadm_mail_has_subcommands(cmd_name);
 }