aboutsummaryrefslogtreecommitdiff
path: root/src/target/arm920t.c
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-10-24 06:36:05 -0700
committerZachary T Welch <zw@superlucidity.net>2009-11-05 18:03:19 -0800
commit714d92a954ad348571713c4ccc2611d7b910bcc7 (patch)
tree06a65c8cd7fa0e36c767671b2e97c116041c7856 /src/target/arm920t.c
parent0442bda216ef89a212f1dc58591db6edfd6b9f08 (diff)
downloadriscv-openocd-714d92a954ad348571713c4ccc2611d7b910bcc7.zip
riscv-openocd-714d92a954ad348571713c4ccc2611d7b910bcc7.tar.gz
riscv-openocd-714d92a954ad348571713c4ccc2611d7b910bcc7.tar.bz2
Improve arm920t command argument parsing.
Diffstat (limited to 'src/target/arm920t.c')
-rw-r--r--src/target/arm920t.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/target/arm920t.c b/src/target/arm920t.c
index 2556002..40f4b4d 100644
--- a/src/target/arm920t.c
+++ b/src/target/arm920t.c
@@ -1295,7 +1295,8 @@ int arm920t_handle_cp15_command(struct command_context_s *cmd_ctx, char *cmd, ch
/* one or more argument, access a single register (write if second argument is given */
if (argc >= 1)
{
- int address = strtoul(args[0], NULL, 0);
+ int address;
+ COMMAND_PARSE_NUMBER(int, args[0], address);
if (argc == 1)
{
@@ -1314,7 +1315,8 @@ int arm920t_handle_cp15_command(struct command_context_s *cmd_ctx, char *cmd, ch
}
else if (argc == 2)
{
- uint32_t value = strtoul(args[1], NULL, 0);
+ uint32_t value;
+ COMMAND_PARSE_NUMBER(u32, args[1], value);
if ((retval = arm920t_write_cp15_physical(target, address, value)) != ERROR_OK)
{
command_print(cmd_ctx, "couldn't access reg %i", address);
@@ -1354,7 +1356,8 @@ int arm920t_handle_cp15i_command(struct command_context_s *cmd_ctx, char *cmd, c
/* one or more argument, access a single register (write if second argument is given */
if (argc >= 1)
{
- uint32_t opcode = strtoul(args[0], NULL, 0);
+ uint32_t opcode;
+ COMMAND_PARSE_NUMBER(u32, args[0], opcode);
if (argc == 1)
{
@@ -1369,7 +1372,8 @@ int arm920t_handle_cp15i_command(struct command_context_s *cmd_ctx, char *cmd, c
}
else if (argc == 2)
{
- uint32_t value = strtoul(args[1], NULL, 0);
+ uint32_t value;
+ COMMAND_PARSE_NUMBER(u32, args[1], value);
if ((retval = arm920t_write_cp15_interpreted(target, opcode, value, 0)) != ERROR_OK)
{
command_print(cmd_ctx, "couldn't execute %8.8" PRIx32 "", opcode);
@@ -1379,8 +1383,10 @@ int arm920t_handle_cp15i_command(struct command_context_s *cmd_ctx, char *cmd, c
}
else if (argc == 3)
{
- uint32_t value = strtoul(args[1], NULL, 0);
- uint32_t address = strtoul(args[2], NULL, 0);
+ uint32_t value;
+ COMMAND_PARSE_NUMBER(u32, args[1], value);
+ uint32_t address;
+ COMMAND_PARSE_NUMBER(u32, args[2], address);
if ((retval = arm920t_write_cp15_interpreted(target, opcode, value, address)) != ERROR_OK)
{
command_print(cmd_ctx, "couldn't execute %8.8" PRIx32 "", opcode);