- fixes segfault using the targets cmd if multiple targets defined
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 26 Nov 2008 16:43:01 +0000 (16:43 +0000)
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 26 Nov 2008 16:43:01 +0000 (16:43 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1187 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/target/target.c

index 79c97c24476d4d220638b627d094622926906786..f86c52f95b53efbfd613ca27061e71b606a8ddec 100644 (file)
@@ -1362,7 +1362,7 @@ int handle_targets_command(struct command_context_s *cmd_ctx, char *cmd, char **
        if (argc == 1)
        {
                /* try as tcltarget name */
-               for( target = all_targets ; target ; target++ ){
+               for( target = all_targets ; target ; target = target->next ){
                  if( target->cmd_name ){
                        if( 0 == strcmp( args[0], target->cmd_name ) ){
                                /* MATCH */
@@ -1388,8 +1388,9 @@ int handle_targets_command(struct command_context_s *cmd_ctx, char *cmd, char **
                cmd_ctx->current_target = target->target_number;
                return ERROR_OK;
        }
- DumpTargets:
+DumpTargets:
 
+       target = all_targets;
        command_print(cmd_ctx, "    CmdName    Type       Endian     ChainPos State     ");
        command_print(cmd_ctx, "--  ---------- ---------- ---------- -------- ----------");
        while (target)