diff options
author | Mathias K <kesmtp@freenet.de> | 2013-10-24 08:31:45 +0200 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2013-10-31 21:11:48 +0000 |
commit | a3c0f0546164874a50b2e8fb482403199ea2d358 (patch) | |
tree | cb6a784fecc993aab7d4e58995ab4937f4c9ba1c | |
parent | 4f6f065201e908497f087769dcdff1728466df4e (diff) |
target: fix mem2array/array2mem
if data size is bigger than transfer buffer, all portions are
transferred from/to the same target address - address advance
after successful transmission missed.
Change-Id: I79a6c388af197ac062d2807e397a2d7947400520
Signed-off-by: Sergey A. Borshch <sb-sf@users.sourceforge.net>
Signed-off-by: Mathias K <kesmtp@freenet.de>
Reviewed-on: http://openocd.zylin.com/1679
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Tested-by: jenkins
-rw-r--r-- | src/target/target.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/target/target.c b/src/target/target.c index 8ca1cf34..3042d5d6 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -3767,6 +3767,7 @@ static int target_mem2array(Jim_Interp *interp, struct target *target, int argc, new_int_array_element(interp, varname, n, v); } len -= count; + addr += count * width; } } @@ -3960,6 +3961,7 @@ static int target_array2mem(Jim_Interp *interp, struct target *target, e = JIM_ERR; break; } + addr += count * width; } free(buffer); |