aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Schink <dev@zapb.de>2023-11-12 11:43:48 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2023-11-24 21:40:49 +0000
commit1b0b07baab2b23318ddc484a58d66214f0c2a0d2 (patch)
tree30d8a348f28bb6ed59e9e654c2e66ac12a3dc924
parentbe5cfdc86bce09e688aad16134cb36561c85d5eb (diff)
downloadriscv-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.c12
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;
}