diff options
Diffstat (limited to 'src/target')
-rw-r--r-- | src/target/target.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/target/target.c b/src/target/target.c index 6d4a93bc..260f9cec 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -1931,21 +1931,20 @@ static int handle_reset_command(struct command_context_s *cmd_ctx, char *cmd, ch static int handle_resume_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { - int retval; - target_t *target = get_current_target(cmd_ctx); + if (argc > 1) + return ERROR_COMMAND_SYNTAX_ERROR; - target_handle_event( target, TARGET_EVENT_OLD_pre_resume ); + target_t *target = get_current_target(cmd_ctx); + target_handle_event(target, TARGET_EVENT_OLD_pre_resume); - if (argc == 0) - retval = target_resume(target, 1, 0, 1, 0); /* current pc, addr = 0, handle breakpoints, not debugging */ - else if (argc == 1) - retval = target_resume(target, 0, strtoul(args[0], NULL, 0), 1, 0); /* addr = args[0], handle breakpoints, not debugging */ - else - { - retval = ERROR_COMMAND_SYNTAX_ERROR; - } + /* with no args, resume from current pc, addr = 0, + * with one arguments, addr = args[0], + * handle breakpoints, not debugging */ + u32 addr = 0; + if (argc == 1) + addr = strtoul(args[0], NULL, 0); - return retval; + return target_resume(target, 0, addr, 1, 0); } static int handle_step_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) |