diff options
author | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-06-09 01:16:19 +0000 |
---|---|---|
committer | zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-06-09 01:16:19 +0000 |
commit | 731d2d0cb6a63fd7fc1fa2f43cc92e095508f0ff (patch) | |
tree | 9e870b0896fd6cbb02fc7410f0025b808dd2879c | |
parent | b3121aac7676aa82bb0a9836db544c544ddb875f (diff) | |
download | openocd_libswd-731d2d0cb6a63fd7fc1fa2f43cc92e095508f0ff.tar.gz openocd_libswd-731d2d0cb6a63fd7fc1fa2f43cc92e095508f0ff.tar.bz2 openocd_libswd-731d2d0cb6a63fd7fc1fa2f43cc92e095508f0ff.tar.xz openocd_libswd-731d2d0cb6a63fd7fc1fa2f43cc92e095508f0ff.zip |
Reduce scope or eliminate temporary variables in jtag_add_statemove:
- Change types of tms_bits and tms_count to unsigned, eliminates a cast.
- Use moves[] only if needed; a single move can use goal_state directly.
- Declare loop induction variable inside its control statement.
- Remove retval in favor of direct returns.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2137 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r-- | src/jtag/jtag.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 0af50803..77f32257 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -2597,13 +2597,7 @@ static int handle_tms_sequence_command(struct command_context_s *cmd_ctx, char * */ int jtag_add_statemove(tap_state_t goal_state) { - int retval = ERROR_OK; - - tap_state_t moves[8]; tap_state_t cur_state = cmd_queue_cur_state; - int i; - int tms_bits; - int tms_count; LOG_DEBUG( "cur_state=%s goal_state=%s", tap_state_name(cur_state), @@ -2618,12 +2612,12 @@ int jtag_add_statemove(tap_state_t goal_state) } else if( tap_is_state_stable(cur_state) && tap_is_state_stable(goal_state) ) { - tms_bits = tap_get_tms_path(cur_state, goal_state); - tms_count = tap_get_tms_path_len(cur_state, goal_state); + unsigned tms_bits = tap_get_tms_path(cur_state, goal_state); + unsigned tms_count = tap_get_tms_path_len(cur_state, goal_state); + tap_state_t moves[8]; + assert(tms_count < DIM(moves)); - assert( (unsigned) tms_count < DIM(moves) ); - - for (i=0; i<tms_count; i++, tms_bits>>=1) + for (unsigned i = 0; i < tms_count; i++, tms_bits >>= 1) { bool bit = tms_bits & 1; @@ -2636,17 +2630,13 @@ int jtag_add_statemove(tap_state_t goal_state) else if( tap_state_transition(cur_state, true) == goal_state || tap_state_transition(cur_state, false) == goal_state ) { - /* move a single state */ - moves[0] = goal_state; - jtag_add_pathmove( 1, moves ); + jtag_add_pathmove(1, &goal_state); } else - { - retval = ERROR_FAIL; - } + return ERROR_FAIL; - return retval; + return ERROR_OK; } void jtag_set_nsrst_delay(unsigned delay) |