Replace AssertFatal with static_assert for cmdline arguments check

Replace AssertFatal with static_assert for command line arguments definition
length check. The static assert will not allow the code to compile in case
the size is incorrect.

This could save some time in the future since its easy to forget to extend
CMDLINE_PARAMS_CHECK_DESC.
This commit is contained in:
Bartosz Podrygajlo
2024-12-18 09:18:48 +01:00
parent f50146962d
commit acae0dc011
+2 -1
View File
@@ -105,8 +105,9 @@ void get_common_options(configmodule_interface_t *cfg, uint32_t execmask)
paramdef_t cmdline_params[] = CMDLINE_PARAMS_DESC;
checkedparam_t cmdline_CheckParams[] = CMDLINE_PARAMS_CHECK_DESC;
static_assert(sizeofArray(cmdline_params) == sizeofArray(cmdline_CheckParams),
"cmdline_params and cmdline_CheckParams should have the same size");
int numparams = sizeofArray(cmdline_params);
AssertFatal(numparams == sizeofArray(cmdline_CheckParams), "Error in arrays size (%d!=%lu)\n", numparams, sizeofArray(cmdline_CheckParams));
config_set_checkfunctions(cmdline_params, cmdline_CheckParams, numparams);
config_get(cfg, cmdline_params, numparams, NULL);
nfapi_index = config_paramidx_fromname(cmdline_params, numparams, "nfapi");