summaryrefslogtreecommitdiff
path: root/src/jtag/tcl.c
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-10-22 21:05:50 -0700
committerZachary T Welch <zw@superlucidity.net>2009-11-05 18:03:18 -0800
commitb7b561aae809ab9022b9f213dc5a12b6d58ce2ee (patch)
tree7385f125924a53e90e7ef5e636c7f74e83958fb8 /src/jtag/tcl.c
parentf6f1dbfafdfac93d8f9a9540c71f011fac7611e0 (diff)
downloadopenocd_libswd-b7b561aae809ab9022b9f213dc5a12b6d58ce2ee.tar.gz
openocd_libswd-b7b561aae809ab9022b9f213dc5a12b6d58ce2ee.tar.bz2
openocd_libswd-b7b561aae809ab9022b9f213dc5a12b6d58ce2ee.tar.xz
openocd_libswd-b7b561aae809ab9022b9f213dc5a12b6d58ce2ee.zip
Improve jtag command argument parsing.
Diffstat (limited to 'src/jtag/tcl.c')
-rw-r--r--src/jtag/tcl.c40
1 files changed, 15 insertions, 25 deletions
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index 5056a5c5..c064a825 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -1050,9 +1050,8 @@ static int handle_jtag_nsrst_delay_command(struct command_context_s *cmd_ctx,
if (argc == 1)
{
unsigned delay;
- int retval = parse_uint(args[0], &delay);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], delay);
+
jtag_set_nsrst_delay(delay);
}
command_print(cmd_ctx, "jtag_nsrst_delay: %u", jtag_get_nsrst_delay());
@@ -1067,9 +1066,8 @@ static int handle_jtag_ntrst_delay_command(struct command_context_s *cmd_ctx,
if (argc == 1)
{
unsigned delay;
- int retval = parse_uint(args[0], &delay);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], delay);
+
jtag_set_ntrst_delay(delay);
}
command_print(cmd_ctx, "jtag_ntrst_delay: %u", jtag_get_ntrst_delay());
@@ -1084,9 +1082,8 @@ static int handle_jtag_nsrst_assert_width_command(struct command_context_s *cmd_
if (argc == 1)
{
unsigned delay;
- int retval = parse_uint(args[0], &delay);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], delay);
+
jtag_set_nsrst_assert_width(delay);
}
command_print(cmd_ctx, "jtag_nsrst_assert_width: %u", jtag_get_nsrst_assert_width());
@@ -1101,9 +1098,8 @@ static int handle_jtag_ntrst_assert_width_command(struct command_context_s *cmd_
if (argc == 1)
{
unsigned delay;
- int retval = parse_uint(args[0], &delay);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], delay);
+
jtag_set_ntrst_assert_width(delay);
}
command_print(cmd_ctx, "jtag_ntrst_assert_width: %u", jtag_get_ntrst_assert_width());
@@ -1124,11 +1120,9 @@ static int handle_jtag_speed_command(struct command_context_s *cmd_ctx, char *cm
LOG_DEBUG("handle jtag speed");
unsigned cur_speed = 0;
- int retval = parse_uint(args[0], &cur_speed);
- if (ERROR_OK != retval)
- return retval;
- retval = jtag_config_speed(cur_speed);
+ COMMAND_PARSE_NUMBER(uint, args[0], cur_speed);
+ retval = jtag_config_speed(cur_speed);
}
command_print(cmd_ctx, "jtag_speed: %d", jtag_get_speed());
@@ -1144,9 +1138,8 @@ static int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd,
if (argc == 1)
{
unsigned khz = 0;
- int retval = parse_uint(args[0], &khz);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], khz);
+
retval = jtag_config_khz(khz);
if (ERROR_OK != retval)
return retval;
@@ -1174,9 +1167,8 @@ static int handle_jtag_rclk_command(struct command_context_s *cmd_ctx, char *cmd
if (argc == 1)
{
unsigned khz = 0;
- int retval = parse_uint(args[0], &khz);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], khz);
+
retval = jtag_config_rclk(khz);
if (ERROR_OK != retval)
return retval;
@@ -1231,9 +1223,7 @@ static int handle_runtest_command(struct command_context_s *cmd_ctx,
return ERROR_COMMAND_SYNTAX_ERROR;
unsigned num_clocks;
- int retval = parse_uint(args[0], &num_clocks);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], num_clocks);
jtag_add_runtest(num_clocks, TAP_IDLE);
return jtag_execute_queue();