diff options
author | Marc Schink <dev@zapb.de> | 2023-11-12 11:43:48 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2023-11-24 21:40:49 +0000 |
commit | 1b0b07baab2b23318ddc484a58d66214f0c2a0d2 (patch) | |
tree | 30d8a348f28bb6ed59e9e654c2e66ac12a3dc924 | |
parent | be5cfdc86bce09e688aad16134cb36561c85d5eb (diff) | |
download | riscv-openocd-1b0b07baab2b23318ddc484a58d66214f0c2a0d2.zip riscv-openocd-1b0b07baab2b23318ddc484a58d66214f0c2a0d2.tar.gz riscv-openocd-1b0b07baab2b23318ddc484a58d66214f0c2a0d2.tar.bz2 |
target: Throw error in 'debug_reason' command
Instead of returning an 'error string', throw an error. This makes it
much easier to handle errors in Tcl scripts or in tools that use Tcl RPC.
Change-Id: I75c48750cfad7430fa5e6bc88fe04ebd59d34cea
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/8006
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
-rw-r--r-- | src/target/target.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/target/target.c b/src/target/target.c index d8e6586..4a4c626 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -5845,7 +5845,17 @@ COMMAND_HANDLER(handle_target_debug_reason) struct target *target = get_current_target(CMD_CTX); - command_print(CMD, "%s", debug_reason_name(target)); + + const char *debug_reason = nvp_value2name(nvp_target_debug_reason, + target->debug_reason)->name; + + if (!debug_reason) { + command_print(CMD, "bug: invalid debug reason (%d)", + target->debug_reason); + return ERROR_FAIL; + } + + command_print(CMD, "%s", debug_reason); return ERROR_OK; } |