Simplify and fix handle_step_command:
- Bug fix: return syntax error when more than one argument is given. - Eliminate redundant calls to step callback with addr temp variable. - Place variables at location of first use. git-svn-id: svn://svn.berlios.de/openocd/trunk@2190 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
4c31d5d179
commit
78cf92166a
|
@ -1950,17 +1950,20 @@ static int handle_resume_command(struct command_context_s *cmd_ctx, char *cmd, c
|
||||||
|
|
||||||
static int handle_step_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
|
static int handle_step_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
|
||||||
{
|
{
|
||||||
target_t *target = get_current_target(cmd_ctx);
|
if (argc > 1)
|
||||||
|
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||||
|
|
||||||
LOG_DEBUG("-");
|
LOG_DEBUG("-");
|
||||||
|
|
||||||
if (argc == 0)
|
/* with no args, step from current pc, addr = 0,
|
||||||
return target->type->step(target, 1, 0, 1); /* current pc, addr = 0, handle breakpoints */
|
* with one argument addr = args[0],
|
||||||
|
* handle breakpoints, debugging */
|
||||||
|
u32 addr = 0;
|
||||||
if (argc == 1)
|
if (argc == 1)
|
||||||
return target->type->step(target, 0, strtoul(args[0], NULL, 0), 1); /* addr = args[0], handle breakpoints */
|
addr = strtoul(args[0], NULL, 0);
|
||||||
|
|
||||||
return ERROR_OK;
|
target_t *target = get_current_target(cmd_ctx);
|
||||||
|
return target->type->step(target, 0, addr, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handle_md_output(struct command_context_s *cmd_ctx,
|
static void handle_md_output(struct command_context_s *cmd_ctx,
|
||||||
|
|
Loading…
Reference in New Issue