changeset 19873:470497fb205c

doveadm: Code cleanup - Removed unnecessary pointer checks. Originally for some reason added by e16cdc182.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Fri, 26 Feb 2016 17:33:02 +0200
parents b484b95d3dcb
children 971cef290c5b
files src/doveadm/doveadm-cmd.c
diffstat 1 files changed, 11 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-cmd.c	Fri Feb 26 16:21:38 2016 +0200
+++ b/src/doveadm/doveadm-cmd.c	Fri Feb 26 17:33:02 2016 +0200
@@ -95,13 +95,11 @@
 	return NULL;
 }
 
-static const struct doveadm_cmd *
-doveadm_cmd_find_multi_word(const struct doveadm_cmd *cmd,
-			    const char *cmdname, int *_argc, const char **_argv[])
+static bool
+doveadm_cmd_find_multi_word(const char *cmdname, int *_argc, const char **_argv[])
 {
 	int argc = *_argc;
 	const char **argv = *_argv;
-	const struct doveadm_cmd *subcmd;
 	unsigned int len;
 
 	if (argc < 2)
@@ -114,24 +112,23 @@
 	argc--; argv++;
 	if (cmdname[len] == ' ') {
 		/* more args */
-		subcmd = doveadm_cmd_find_multi_word(cmd, cmdname + len + 1,
-						     &argc, &argv);
-		if (subcmd == NULL)
-			return NULL;
+		if (!doveadm_cmd_find_multi_word(cmdname + len + 1,
+						 &argc, &argv))
+			return FALSE;
 	} else {
 		if (cmdname[len] != '\0')
-			return NULL;
+			return FALSE;
 	}
 
 	*_argc = argc;
 	*_argv = argv;
-	return cmd;
+	return TRUE;
 }
 
 const struct doveadm_cmd *
 doveadm_cmd_find_with_args(const char *cmd_name, int *argc, const char **argv[])
 {
-	const struct doveadm_cmd *cmd, *subcmd;
+	const struct doveadm_cmd *cmd;
 	unsigned int cmd_name_len;
 
 	i_assert(*argc > 0);
@@ -146,10 +143,9 @@
 		    cmd->name[cmd_name_len] == ' ') {
 			const char *subcmd_name = cmd->name + cmd_name_len + 1;
 
-			subcmd = doveadm_cmd_find_multi_word(cmd, subcmd_name,
-							     argc, argv);
-			if (subcmd != NULL)
-				return subcmd;
+			if (doveadm_cmd_find_multi_word(subcmd_name,
+							argc, argv))
+				return cmd;
 		}
 	}
 	return NULL;