From f00070edaf8fbe7e49c44845c440086d55288f28 Mon Sep 17 00:00:00 2001 From: Evgeniy Didin Date: Thu, 12 Mar 2020 19:05:37 +0300 Subject: [PATCH] target/arc_cmd: Improve argument checks for commands Add more argument check for "add-reg" command. Changes since first revision: -Removed arguments limitation(50 maximum) for "arc_set_reg_exists". Changes: 25.03: Removed inconsistency in "add-reg" function. Actually "-type" option is optional and if it is not set, register type is "int". Change-Id: Ia21e6baf4fbda162f7811cd0fe305fc86ddafcfd Signed-off-by: Evgeniy Didin Reviewed-on: http://openocd.zylin.com/5523 Tested-by: jenkins Reviewed-by: Antonio Borneo Reviewed-by: Oleksij Rempel --- src/target/arc_cmd.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/target/arc_cmd.c b/src/target/arc_cmd.c index 3475762f4..a8c3bb43a 100644 --- a/src/target/arc_cmd.c +++ b/src/target/arc_cmd.c @@ -678,13 +678,15 @@ static int jim_arc_add_reg(Jim_Interp *interp, int argc, Jim_Obj * const *argv) int type_name_len = strlen(type_name); int e = ERROR_OK; - /* At least we need to specify 4 parameters: name, number, type and gdb_feature, - * which means there should be 8 arguments */ - if (goi.argc < 8) { + /* At least we need to specify 4 parameters: name, number and gdb_feature, + * which means there should be 6 arguments. Also there can be additional paramters + * "-type ", "-g" and "-core" or "-bcr" which makes maximum 10 parameters. */ + if (goi.argc < 6 || goi.argc > 10) { free_reg_desc(reg); Jim_SetResultFormatted(goi.interp, - "Should be at least 8 argnuments: -name " - "-num -type -feature ."); + "Should be at least 6 argnuments and not greater than 10: " + " -name -num -feature " + " [-type ] [-core|-bcr] [-g]."); return JIM_ERR; } -- 2.30.2