Fix invalid module command argument count

The module commands were always given the maximum argument count even if
less arguments were given.
This commit is contained in:
Markus Mäkelä 2017-08-08 06:53:43 +03:00
parent d09e0d03bc
commit 9847b36a12
2 changed files with 6 additions and 0 deletions

View File

@ -519,6 +519,10 @@ MODULECMD_ARG* modulecmd_arg_parse(const MODULECMD *cmd, int argc, const void **
modulecmd_arg_free(arg);
arg = NULL;
}
else
{
arg->argc = argc;
}
}
}
else

View File

@ -206,6 +206,7 @@ int test_optional_arguments()
arg = modulecmd_arg_parse(cmd, 1, params2);
TEST(arg, "Parsing arguments should succeed");
TEST(arg->argc == 1, "Only one argument should be given");
TEST(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
TEST(modulecmd_call_command(cmd, arg, NULL), "Module call should be successful");
TEST(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
@ -213,6 +214,7 @@ int test_optional_arguments()
arg = modulecmd_arg_parse(cmd, 0, params1);
TEST(arg, "Parsing arguments should succeed");
TEST(arg->argc == 0, "No arguments should be given");
TEST(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
TEST(modulecmd_call_command(cmd, arg, NULL), "Module call should be successful");
TEST(strlen(modulecmd_get_error()) == 0, "Error message should be empty");