[LTP] [PATCH v4 3/3] tst_run_shell.c: Add new function handle new needs_cmds
Petr Vorel
pvorel@suse.cz
Fri Oct 17 17:30:46 CEST 2025
Hi Wei,
> + UJSON_ARR_FOREACH(reader, val) {
> + UJSON_OBJ_FOREACH_FILTER(reader, val, &cmd_obj, ujson_empty_obj) {
> + switch ((enum cmd_ids)val->idx) {
> + case CMD:
> + ret[i].cmd = strdup(val->val_str);
> + break;
> + case OPTIONAL:
> + ret[i].optional = val->val_int;
> + break;
> + case MKFS_VER:
> + ret[i].present = val->val_int;
My compiler shows 2 warnings:
tst_run_shell.c:302:25: warning: case value ‘3’ not in enumerated type ‘enum cmd_ids’ [-Wswitch]
302 | case MKFS_VER:
| ^~~~
=> Indeed, MKFS_VER is part of enum fs_ids, it should not be here.
Another warning:
tst_run_shell.c: In function ‘parse_cmds’:
tst_run_shell.c:295:25: warning: enumeration value ‘PRESENT’ not handled in switch [-Wswitch]
295 | switch ((enum cmd_ids)val->idx) {
| ^~~~~~
=> Either it MKFS_VER should have PRESENT, or, because struct tst_cmd->present
should not be set in the test, but by C API, we might want to call ujson_err()?
Kind regards,
Petr
More information about the ltp
mailing list