summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-07-02 07:51:41 +0000
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-07-02 07:51:41 +0000
commit4d858f71367d98cda27d4445bf6ae13667b5c6b0 (patch)
treeea6f7eb2b86a969ac8d65091a1f9253f6f5e5a45
parent731866bd142a8675beaef455ef4bb269241ececa (diff)
downloadopenocd_libswd-4d858f71367d98cda27d4445bf6ae13667b5c6b0.tar.gz
openocd_libswd-4d858f71367d98cda27d4445bf6ae13667b5c6b0.tar.bz2
openocd_libswd-4d858f71367d98cda27d4445bf6ae13667b5c6b0.tar.xz
openocd_libswd-4d858f71367d98cda27d4445bf6ae13667b5c6b0.zip
- allocate target_type_t structure for each target, fixes issue when multiple targets of the same type are located on the jtag chain
- Thanks Michel Pollet git-svn-id: svn://svn.berlios.de/openocd/trunk@738 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/target/target.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 1be4885d..0237fd66 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1403,7 +1403,9 @@ int handle_target_command(struct command_context_s *cmd_ctx, char *cmd, char **a
*last_target_p = malloc(sizeof(target_t));
- (*last_target_p)->type = target_types[i];
+ /* allocate memory for each unique target type */
+ (*last_target_p)->type = (target_type_t*)malloc(sizeof(target_type_t));
+ *((*last_target_p)->type) = *target_types[i];
if (strcmp(args[1], "big") == 0)
(*last_target_p)->endianness = TARGET_BIG_ENDIAN;