From 75a37eb5b37386768327e9670acfedc7811d529f Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Wed, 18 Nov 2009 05:22:44 -0800 Subject: [PATCH] use COMMAND_PARSE_ON_OFF where appropriate Updates all command parsing of "on" and "off" arguments. --- src/flash/flash.c | 9 ++------- src/jtag/parport.c | 7 ++----- src/jtag/zy1000/zy1000.c | 15 +++------------ src/target/cortex_m3.c | 17 +++++------------ src/target/target.c | 19 +++++-------------- 5 files changed, 17 insertions(+), 50 deletions(-) diff --git a/src/flash/flash.c b/src/flash/flash.c index 2c63b827c..98e5ee0e3 100644 --- a/src/flash/flash.c +++ b/src/flash/flash.c @@ -577,7 +577,6 @@ COMMAND_HANDLER(handle_flash_protect_command) uint32_t bank_nr; uint32_t first; uint32_t last; - int set; COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], bank_nr); struct flash_bank *p = get_flash_bank_by_num(bank_nr); @@ -590,12 +589,8 @@ COMMAND_HANDLER(handle_flash_protect_command) else COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], last); - if (strcmp(CMD_ARGV[3], "on") == 0) - set = 1; - else if (strcmp(CMD_ARGV[3], "off") == 0) - set = 0; - else - return ERROR_COMMAND_SYNTAX_ERROR; + bool set; + COMMAND_PARSE_ON_OFF(CMD_ARGV[3], set); int retval; if ((retval = flash_check_sector_parameters(CMD_CTX, diff --git a/src/jtag/parport.c b/src/jtag/parport.c index 97f6458d3..b80626f57 100644 --- a/src/jtag/parport.c +++ b/src/jtag/parport.c @@ -103,7 +103,7 @@ static struct cable cables[] = /* configuration */ static char* parport_cable = NULL; static uint16_t parport_port; -static int parport_exit = 0; +static bool parport_exit = 0; static uint32_t parport_toggling_time_ns = 1000; static int wait_states; @@ -453,10 +453,7 @@ COMMAND_HANDLER(parport_handle_write_on_exit_command) return ERROR_OK; } - if (strcmp(CMD_ARGV[0], "on") == 0) - parport_exit = 1; - else if (strcmp(CMD_ARGV[0], "off") == 0) - parport_exit = 0; + COMMAND_PARSE_ON_OFF(CMD_ARGV[0], parport_exit); return ERROR_OK; } diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c index a509aee58..206b362c6 100644 --- a/src/jtag/zy1000/zy1000.c +++ b/src/jtag/zy1000/zy1000.c @@ -236,18 +236,9 @@ int handle_power_command(struct command_context *cmd_ctx, char *cmd, char **args if (argc == 1) { - if (strcmp(args[0], "on") == 0) - { - setPower(1); - } - else if (strcmp(args[0], "off") == 0) - { - setPower(0); - } else - { - command_print(cmd_ctx, "arg is \"on\" or \"off\""); - return ERROR_INVALID_ARGUMENTS; - } + bool enable; + COMMAND_PARSE_ON_OFF(args[0], enable); + setPower(enable); } command_print(cmd_ctx, "Target power %s", savePower ? "on" : "off"); diff --git a/src/target/cortex_m3.c b/src/target/cortex_m3.c index 42f8ee089..e7b511079 100644 --- a/src/target/cortex_m3.c +++ b/src/target/cortex_m3.c @@ -1898,18 +1898,11 @@ COMMAND_HANDLER(handle_cortex_m3_mask_interrupts_command) if (CMD_ARGC > 0) { - if (!strcmp(CMD_ARGV[0], "on")) - { - cortex_m3_write_debug_halt_mask(target, C_HALT | C_MASKINTS, 0); - } - else if (!strcmp(CMD_ARGV[0], "off")) - { - cortex_m3_write_debug_halt_mask(target, C_HALT, C_MASKINTS); - } - else - { - command_print(CMD_CTX, "usage: cortex_m3 maskisr ['on'|'off']"); - } + bool enable; + COMMAND_PARSE_ON_OFF(CMD_ARGV[0], enable); + uint32_t mask_on = C_HALT | (enable ? C_MASKINTS : 0); + uint32_t mask_off = enable ? 0 : C_MASKINTS; + cortex_m3_write_debug_halt_mask(target, mask_on, mask_off); } command_print(CMD_CTX, "cortex_m3 interrupt mask %s", diff --git a/src/target/target.c b/src/target/target.c index 98e7a4034..f203913cc 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -2003,23 +2003,14 @@ COMMAND_HANDLER(handle_poll_command) return retval; if ((retval = target_arch_state(target)) != ERROR_OK) return retval; - } else if (CMD_ARGC == 1) { - if (strcmp(CMD_ARGV[0], "on") == 0) - { - jtag_poll_set_enabled(true); - } - else if (strcmp(CMD_ARGV[0], "off") == 0) - { - jtag_poll_set_enabled(false); - } - else - { - command_print(CMD_CTX, "arg is \"on\" or \"off\""); - } - } else + bool enable; + COMMAND_PARSE_ON_OFF(CMD_ARGV[0], enable); + jtag_poll_set_enabled(enable); + } + else { return ERROR_COMMAND_SYNTAX_ERROR; }