From ff85ad7c12a79273db5248d3b121fec3ad6db583 Mon Sep 17 00:00:00 2001 From: zwelch Date: Tue, 9 Jun 2009 01:16:35 +0000 Subject: Change jtag_add_pathmove to set jtag_error rather than call exit(): - Add new error codes to encode the possible failure conditions. - Add documentation to describe the routine's possible error codes. git-svn-id: svn://svn.berlios.de/openocd/trunk@2138 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/jtag/jtag.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/jtag/jtag.c') diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 77f32257..e8b66d15 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -613,7 +613,8 @@ void jtag_add_pathmove(int num_states, const tap_state_t *path) if (!tap_is_state_stable(path[num_states - 1])) { LOG_ERROR("BUG: TAP path doesn't finish in a stable state"); - exit(-1); + jtag_set_error(ERROR_JTAG_NOT_STABLE_STATE); + return; } for (int i = 0; i < num_states; i++) @@ -621,7 +622,8 @@ void jtag_add_pathmove(int num_states, const tap_state_t *path) if (path[i] == TAP_RESET) { LOG_ERROR("BUG: TAP_RESET is not a valid state for pathmove sequences"); - exit(-1); + jtag_set_error(ERROR_JTAG_STATE_INVALID); + return; } if ( tap_state_transition(cur_state, true) != path[i] @@ -629,7 +631,8 @@ void jtag_add_pathmove(int num_states, const tap_state_t *path) { LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_name(cur_state), tap_state_name(path[i])); - exit(-1); + jtag_set_error(ERROR_JTAG_TRANSITION_INVALID); + return; } cur_state = path[i]; } -- cgit v1.2.3-18-g5258