aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2020-10-23 16:45:35 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2020-11-04 17:38:20 +0000
commit65de0d3bfa14c59c2fea31a2974dd3492ac3320d (patch)
treee566828edaea620c6175866cf7d5483cd314b329
parente2e8a5f467e8e35618ce4fbf16b8da4e682d8258 (diff)
downloadriscv-openocd-65de0d3bfa14c59c2fea31a2974dd3492ac3320d.zip
riscv-openocd-65de0d3bfa14c59c2fea31a2974dd3492ac3320d.tar.gz
riscv-openocd-65de0d3bfa14c59c2fea31a2974dd3492ac3320d.tar.bz2
target: handle command 'target current' when no target is present
Is it possible to run OpenOCD without any target, for example to only dump the rom-tables of an arm dap, or to perform low level jtag operations. But without any target created, the command 'target current' causes OpenOCD to abruptly exit. Handle in command 'target current' the case of no targets. Change-Id: Ide15cb13bec84b88ccc3e7126523c04a6d70e636 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5881 Tested-by: jenkins
-rw-r--r--src/target/target.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 9443f6c..e2e614f 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -5699,7 +5699,9 @@ static int jim_target_current(Jim_Interp *interp, int argc, Jim_Obj *const *argv
struct command_context *cmd_ctx = current_command_context(interp);
assert(cmd_ctx != NULL);
- Jim_SetResultString(interp, target_name(get_current_target(cmd_ctx)), -1);
+ struct target *target = get_current_target_or_null(cmd_ctx);
+ if (target)
+ Jim_SetResultString(interp, target_name(target), -1);
return JIM_OK;
}