Improve maxadmin error messages
The error messages now report more detailed information about the expected number of arguments to commands.
This commit is contained in:
@ -1553,12 +1553,29 @@ execute_cmd(CLI_SESSION *cli)
|
|||||||
if (strcasecmp(args[1], cmds[i].options[j].arg1) == 0)
|
if (strcasecmp(args[1], cmds[i].options[j].arg1) == 0)
|
||||||
{
|
{
|
||||||
found = 1; /**< command and sub-command match */
|
found = 1; /**< command and sub-command match */
|
||||||
if (argc < cmds[i].options[j].argc_min)
|
|
||||||
|
if (cmds[i].options[j].argc_min == cmds[i].options[j].argc_max &&
|
||||||
|
argc != cmds[i].options[j].argc_min)
|
||||||
{
|
{
|
||||||
|
/** Wrong number of arguments */
|
||||||
|
dcb_printf(dcb, "Incorrect number of arguments: %s %s expects %d arguments\n",
|
||||||
|
cmds[i].cmd, cmds[i].options[j].arg1,
|
||||||
|
cmds[i].options[j].argc_min);
|
||||||
|
}
|
||||||
|
else if (argc < cmds[i].options[j].argc_min)
|
||||||
|
{
|
||||||
|
/** Not enough arguments */
|
||||||
dcb_printf(dcb, "Incorrect number of arguments: %s %s expects at least %d arguments\n",
|
dcb_printf(dcb, "Incorrect number of arguments: %s %s expects at least %d arguments\n",
|
||||||
cmds[i].cmd, cmds[i].options[j].arg1,
|
cmds[i].cmd, cmds[i].options[j].arg1,
|
||||||
cmds[i].options[j].argc_min);
|
cmds[i].options[j].argc_min);
|
||||||
}
|
}
|
||||||
|
else if (argc > cmds[i].options[j].argc_max)
|
||||||
|
{
|
||||||
|
/** Too many arguments */
|
||||||
|
dcb_printf(dcb, "Incorrect number of arguments: %s %s expects at most %d arguments\n",
|
||||||
|
cmds[i].cmd, cmds[i].options[j].arg1,
|
||||||
|
cmds[i].options[j].argc_max);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
unsigned long arg_list[MAXARGS] = {};
|
unsigned long arg_list[MAXARGS] = {};
|
||||||
|
Reference in New Issue
Block a user