From: OpenOCD-Gerrit <ope...@us...> - 2021-08-22 20:25:14
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via 6933dd0231f5b91a33996c1c013eb2459ffd2e87 (commit) from 6f28ac8fdef91b665b3edf5132c03f73fd4e1d1d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6933dd0231f5b91a33996c1c013eb2459ffd2e87 Author: Antonio Borneo <bor...@gm...> Date: Thu Aug 12 00:14:29 2021 +0200 command: log the command only when it is executed In case of multi-word commands, the command dispatcher is nested called at each word during command name parsing. The improper position of the call to script_debug() causes the command line to be logged once at each parsed word. In the example of command "cpu arm disassemble 0" the full command is logged three times for "cpu", "arm" and "disassemble": Debug: 656617 61843 command.c:201 script_debug(): command - cpu arm disassemble 0 Debug: 656618 61843 command.c:201 script_debug(): command - cpu arm disassemble 0 Debug: 656619 61843 command.c:201 script_debug(): command - cpu arm disassemble 0 Call script_debug() only when the parsing is terminated and the command handler is going to be executed. Change-Id: Ide4cb01b3b38912e2e24b073c94a9560f92d30bb Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: https://review.openocd.org/c/openocd/+/6436 Tested-by: jenkins Reviewed-by: Oleksij Rempel <li...@re...> Reviewed-by: Tarek BOCHKATI <tar...@gm...> diff --git a/src/helper/command.c b/src/helper/command.c index 42cb8c71e..e5529d97f 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -954,8 +954,6 @@ static int exec_command(Jim_Interp *interp, struct command_context *cmd_ctx, static int jim_command_dispatch(Jim_Interp *interp, int argc, Jim_Obj * const *argv) { - script_debug(interp, argc, argv); - /* check subcommands */ if (argc > 1) { char *s = alloc_printf("%s %s", Jim_GetString(argv[0], NULL), Jim_GetString(argv[1], NULL)); @@ -971,6 +969,8 @@ static int jim_command_dispatch(Jim_Interp *interp, int argc, Jim_Obj * const *a Jim_DecrRefCount(interp, js); } + script_debug(interp, argc, argv); + struct command *c = jim_to_command(interp); if (!c->jim_handler && !c->handler) { Jim_EvalObjPrefix(interp, Jim_NewStringObj(interp, "usage", -1), 1, argv); ----------------------------------------------------------------------- Summary of changes: src/helper/command.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- Main OpenOCD repository |