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:
@ -519,6 +519,10 @@ MODULECMD_ARG* modulecmd_arg_parse(const MODULECMD *cmd, int argc, const void **
|
|||||||
modulecmd_arg_free(arg);
|
modulecmd_arg_free(arg);
|
||||||
arg = NULL;
|
arg = NULL;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
arg->argc = argc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -206,6 +206,7 @@ int test_optional_arguments()
|
|||||||
|
|
||||||
arg = modulecmd_arg_parse(cmd, 1, params2);
|
arg = modulecmd_arg_parse(cmd, 1, params2);
|
||||||
TEST(arg, "Parsing arguments should succeed");
|
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(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
|
||||||
TEST(modulecmd_call_command(cmd, arg, NULL), "Module call should be successful");
|
TEST(modulecmd_call_command(cmd, arg, NULL), "Module call should be successful");
|
||||||
TEST(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
|
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);
|
arg = modulecmd_arg_parse(cmd, 0, params1);
|
||||||
TEST(arg, "Parsing arguments should succeed");
|
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(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
|
||||||
TEST(modulecmd_call_command(cmd, arg, NULL), "Module call should be successful");
|
TEST(modulecmd_call_command(cmd, arg, NULL), "Module call should be successful");
|
||||||
TEST(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
|
TEST(strlen(modulecmd_get_error()) == 0, "Error message should be empty");
|
||||||
|
Reference in New Issue
Block a user