This is an automated email from Gerrit. ?yvind Harboe (oyvindhar...@gmail.com) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/131
-- gerrit commit 6d223053e3b290678414c021b9f9da1f669d8de0 Author: Øyvind Harboe <oyvind.har...@zylin.com> Date: Thu Oct 27 23:51:50 2011 +0200 bugfixes: tinker a bit with the targets command return error when target can not be found instead of ERROR_OK, split fn. Change-Id: Iba5232d3862a490d0995c3bfece23685bd6856e3 Signed-off-by: Øyvind Harboe <oyvind.har...@zylin.com> diff --git a/src/target/target.c b/src/target/target.c index bd15620..d28a9ca 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -1861,26 +1861,37 @@ int target_write_u8(struct target *target, uint32_t address, uint8_t value) return retval; } +static int find_target(struct command_context *cmd_ctx, const char *name) +{ + struct target *target = get_target(name); + if (target == NULL) { + LOG_ERROR("Target: %s is unknown, try one of:\n", name); + return ERROR_FAIL; + } + if (!target->tap->enabled) { + LOG_USER("Target: TAP %s is disabled, " + "can't be the current target\n", + target->tap->dotted_name); + return ERROR_FAIL; + } + + cmd_ctx->current_target = target->target_number; + return ERROR_OK; +} + + COMMAND_HANDLER(handle_targets_command) { + int retval = ERROR_OK; if (CMD_ARGC == 1) { - struct target *target = get_target(CMD_ARGV[0]); - if (target == NULL) { - command_print(CMD_CTX,"Target: %s is unknown, try one of:\n", CMD_ARGV[0]); - goto DumpTargets; - } - if (!target->tap->enabled) { - command_print(CMD_CTX,"Target: TAP %s is disabled, " - "can't be the current target\n", - target->tap->dotted_name); - return ERROR_FAIL; - } - - CMD_CTX->current_target = target->target_number; - return ERROR_OK; + retval = find_target(CMD_CTX, CMD_ARGV[0]); + if (retval == ERROR_OK) + { + /* we're done! */ + return retval; + } } -DumpTargets:; struct target *target = all_targets; command_print(CMD_CTX, " TargetName Type Endian TapName State "); @@ -1911,7 +1922,7 @@ DumpTargets:; target = target->next; } - return ERROR_OK; + return ERROR_FAIL; } /* every 300ms we check for reset & powerdropout and issue a "reset halt" if so. */ -- _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development