change all bool parsers to accept any value
authorZachary T Welch <zw@superlucidity.net>
Wed, 18 Nov 2009 20:41:20 +0000 (12:41 -0800)
committerZachary T Welch <zw@superlucidity.net>
Wed, 18 Nov 2009 23:51:07 +0000 (15:51 -0800)
This patch changes the behavior of all boolean parsing callers to
accept any one of "true/enable/on/yes/1" or "false/disable/off/no/0".

Since one particular pair will be most appropriate in any given
situation, the specific macros should continue to be used in
order to display the most informative error messages possible.

src/helper/command.c
src/helper/command.h

index 5f3fae5107d27d981511ebe0ace6720ad13d46f7..b7c44efc91033058c43adab890945504eac0d0e5 100644 (file)
@@ -955,7 +955,7 @@ DEFINE_PARSE_LONG(_s32, int32_t, n < INT32_MIN, INT32_MAX)
 DEFINE_PARSE_LONG(_s16, int16_t, n < INT16_MIN, INT16_MAX)
 DEFINE_PARSE_LONG(_s8, int8_t, n < INT8_MIN, INT8_MAX)
 
 DEFINE_PARSE_LONG(_s16, int16_t, n < INT16_MIN, INT16_MAX)
 DEFINE_PARSE_LONG(_s8, int8_t, n < INT8_MIN, INT8_MAX)
 
-int command_parse_bool(const char *in, bool *out,
+static int command_parse_bool(const char *in, bool *out,
                const char *on, const char *off)
 {
        if (strcasecmp(in, on) == 0)
                const char *on, const char *off)
 {
        if (strcasecmp(in, on) == 0)
@@ -967,7 +967,7 @@ int command_parse_bool(const char *in, bool *out,
        return  ERROR_OK;
 }
 
        return  ERROR_OK;
 }
 
-int command_parse_bool_any(const char *in, bool *out)
+int command_parse_bool_arg(const char *in, bool *out)
 {
        if (command_parse_bool(in, out, "on", "off") == ERROR_OK)
                return ERROR_OK;
 {
        if (command_parse_bool(in, out, "on", "off") == ERROR_OK)
                return ERROR_OK;
@@ -987,7 +987,7 @@ COMMAND_HELPER(handle_command_parse_bool, bool *out, const char *label)
        switch (CMD_ARGC) {
        case 1: {
                const char *in = CMD_ARGV[0];
        switch (CMD_ARGC) {
        case 1: {
                const char *in = CMD_ARGV[0];
-               if (command_parse_bool_any(in, out) != ERROR_OK)
+               if (command_parse_bool_arg(in, out) != ERROR_OK)
                {
                        LOG_ERROR("%s: argument '%s' is not valid", CMD_NAME, in);
                        return ERROR_INVALID_ARGUMENTS;
                {
                        LOG_ERROR("%s: argument '%s' is not valid", CMD_NAME, in);
                        return ERROR_INVALID_ARGUMENTS;
index 06403eff54835789d3bf19518806301af71ba3d9..a2e979708e66a3e890bd28b673abd9f18337f38f 100644 (file)
@@ -272,7 +272,7 @@ DECLARE_PARSE_WRAPPER(_s8, int8_t);
 #define COMMAND_PARSE_BOOL(in, out, on, off) \
        do { \
                bool value; \
 #define COMMAND_PARSE_BOOL(in, out, on, off) \
        do { \
                bool value; \
-               int retval = command_parse_bool(in, &value, on, off); \
+               int retval = command_parse_bool_arg(in, &value); \
                if (ERROR_OK != retval) { \
                        command_print(CMD_CTX, stringify(out) \
                                " option value ('%s') is not valid", in); \
                if (ERROR_OK != retval) { \
                        command_print(CMD_CTX, stringify(out) \
                                " option value ('%s') is not valid", in); \
@@ -283,8 +283,7 @@ DECLARE_PARSE_WRAPPER(_s8, int8_t);
                out = value; \
        } while (0)
 
                out = value; \
        } while (0)
 
-int command_parse_bool(const char *in, bool *out,
-               const char *on, const char *off);
+int command_parse_bool_arg(const char *in, bool *out);
 COMMAND_HELPER(handle_command_parse_bool, bool *out, const char *label);
 
 /// parses an on/off command argument
 COMMAND_HELPER(handle_command_parse_bool, bool *out, const char *label);
 
 /// parses an on/off command argument

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)