summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-09 01:16:19 +0000
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-09 01:16:19 +0000
commit731d2d0cb6a63fd7fc1fa2f43cc92e095508f0ff (patch)
tree9e870b0896fd6cbb02fc7410f0025b808dd2879c
parentb3121aac7676aa82bb0a9836db544c544ddb875f (diff)
downloadopenocd+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.c26
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)