aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/tcl_server.c2
-rw-r--r--src/target/target.c11
-rw-r--r--src/target/target.h1
3 files changed, 10 insertions, 4 deletions
diff --git a/src/server/tcl_server.c b/src/server/tcl_server.c
index 3cb63a2..0676c88 100644
--- a/src/server/tcl_server.c
+++ b/src/server/tcl_server.c
@@ -157,7 +157,7 @@ static int tcl_new_connection(struct connection *connection)
connection->priv = tclc;
- struct target *target = get_current_target(connection->cmd_ctx);
+ struct target *target = get_current_target_or_null(connection->cmd_ctx);
if (target != NULL)
tclc->tc_laststate = target->state;
diff --git a/src/target/target.c b/src/target/target.c
index 8715883..74b332d 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -517,9 +517,7 @@ struct target *get_target_by_num(int num)
struct target *get_current_target(struct command_context *cmd_ctx)
{
- struct target *target = cmd_ctx->current_target_override
- ? cmd_ctx->current_target_override
- : cmd_ctx->current_target;
+ struct target *target = get_current_target_or_null(cmd_ctx);
if (target == NULL) {
LOG_ERROR("BUG: current_target out of bounds");
@@ -529,6 +527,13 @@ struct target *get_current_target(struct command_context *cmd_ctx)
return target;
}
+struct target *get_current_target_or_null(struct command_context *cmd_ctx)
+{
+ return cmd_ctx->current_target_override
+ ? cmd_ctx->current_target_override
+ : cmd_ctx->current_target;
+}
+
int target_poll(struct target *target)
{
int retval;
diff --git a/src/target/target.h b/src/target/target.h
index d796131..fb9d714 100644
--- a/src/target/target.h
+++ b/src/target/target.h
@@ -396,6 +396,7 @@ int target_call_timer_callbacks_now(void);
struct target *get_target_by_num(int num);
struct target *get_current_target(struct command_context *cmd_ctx);
+struct target *get_current_target_or_null(struct command_context *cmd_ctx);
struct target *get_target(const char *id);
/**