build: remove clang warning about global var 'match'
[openocd.git] / src / helper / command.c
index c218f3fc0b9afabbfbf4df6fe915ebac2955ce03..a179578c23790ca3a96f469132c51bacd01be8f0 100644 (file)
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.           *
  ***************************************************************************/
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
-#if !BUILD_ECOSBOARD
-/* see Embedder-HOWTO.txt in Jim Tcl project hosted on BerliOS*/
+/* see Embedded-HOWTO.txt in Jim Tcl project hosted on BerliOS*/
 #define JIM_EMBEDDED
-#endif
 
 /* @todo the inclusion of target.h here is a layering violation */
 #include <jtag/jtag.h>
@@ -154,6 +152,7 @@ static void script_command_args_free(const char **words, unsigned nwords)
                free((void *)words[i]);
        free(words);
 }
+
 static const char **script_command_args_alloc(
        unsigned argc, Jim_Obj * const *argv, unsigned *nwords)
 {
@@ -246,6 +245,7 @@ static struct command *command_find(struct command *head, const char *name)
        }
        return NULL;
 }
+
 struct command *command_find_in_context(struct command_context *cmd_ctx,
        const char *name)
 {
@@ -572,6 +572,7 @@ static char *__command_name(struct command *c, char delim, unsigned extra)
        }
        return name;
 }
+
 char *command_name(struct command *c, char delim)
 {
        return __command_name(c, delim, 0);
@@ -779,7 +780,7 @@ static int jim_capture(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
        /* disable polling during capture. This avoids capturing output
         * from polling.
         *
-        * This is necessary in order to avoid accidentially getting a non-empty
+        * This is necessary in order to avoid accidentally getting a non-empty
         * string for tcl fn's.
         */
        bool save_poll = jtag_poll_get_enabled();
@@ -813,13 +814,13 @@ static COMMAND_HELPER(command_help_find, struct command *head,
 }
 
 static COMMAND_HELPER(command_help_show, struct command *c, unsigned n,
-       bool show_help, const char *match);
+       bool show_help, const char *cmd_match);
 
 static COMMAND_HELPER(command_help_show_list, struct command *head, unsigned n,
-       bool show_help, const char *match)
+       bool show_help, const char *cmd_match)
 {
        for (struct command *c = head; NULL != c; c = c->next)
-               CALL_COMMAND_HANDLER(command_help_show, c, n, show_help, match);
+               CALL_COMMAND_HANDLER(command_help_show, c, n, show_help, cmd_match);
        return ERROR_OK;
 }
 
@@ -849,8 +850,9 @@ static void command_help_show_wrap(const char *str, unsigned n, unsigned n2)
                n = n2;
        }
 }
+
 static COMMAND_HELPER(command_help_show, struct command *c, unsigned n,
-       bool show_help, const char *match)
+       bool show_help, const char *cmd_match)
 {
        char *cmd_name = command_name(c, ' ');
        if (NULL == cmd_name)
@@ -858,9 +860,9 @@ static COMMAND_HELPER(command_help_show, struct command *c, unsigned n,
 
        /* If the match string occurs anywhere, we print out
         * stuff for this command. */
-       bool is_match = (strstr(cmd_name, match) != NULL) ||
-               ((c->usage != NULL) && (strstr(c->usage, match) != NULL)) ||
-               ((c->help != NULL) && (strstr(c->help, match) != NULL));
+       bool is_match = (strstr(cmd_name, cmd_match) != NULL) ||
+               ((c->usage != NULL) && (strstr(c->usage, cmd_match) != NULL)) ||
+               ((c->help != NULL) && (strstr(c->help, cmd_match) != NULL));
 
        if (is_match) {
                command_help_show_indent(n);
@@ -911,37 +913,35 @@ static COMMAND_HELPER(command_help_show, struct command *c, unsigned n,
        }
 
        return CALL_COMMAND_HANDLER(command_help_show_list,
-               c->children, n, show_help, match);
+               c->children, n, show_help, cmd_match);
 }
+
 COMMAND_HANDLER(handle_help_command)
 {
        bool full = strcmp(CMD_NAME, "help") == 0;
        int retval;
        struct command *c = CMD_CTX->commands;
-       char *match = NULL;
+       char *cmd_match = NULL;
 
        if (CMD_ARGC == 0)
-               match = "";
+               cmd_match = "";
        else if (CMD_ARGC >= 1) {
                unsigned i;
 
                for (i = 0; i < CMD_ARGC; ++i) {
-                       if (NULL != match) {
-                               char *prev = match;
+                       if (NULL != cmd_match) {
+                               char *prev = cmd_match;
 
-                               match = alloc_printf("%s %s", match,
-                                               CMD_ARGV[i]);
+                               cmd_match = alloc_printf("%s %s", cmd_match, CMD_ARGV[i]);
                                free(prev);
-                               if (NULL == match) {
-                                       LOG_ERROR("unable to build "
-                                               "search string");
+                               if (NULL == cmd_match) {
+                                       LOG_ERROR("unable to build search string");
                                        return -ENOMEM;
                                }
                        } else {
-                               match = alloc_printf("%s", CMD_ARGV[i]);
-                               if (NULL == match) {
-                                       LOG_ERROR("unable to build "
-                                               "search string");
+                               cmd_match = alloc_printf("%s", CMD_ARGV[i]);
+                               if (NULL == cmd_match) {
+                                       LOG_ERROR("unable to build search string");
                                        return -ENOMEM;
                                }
                        }
@@ -950,10 +950,10 @@ COMMAND_HANDLER(handle_help_command)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
        retval = CALL_COMMAND_HANDLER(command_help_show_list,
-                       c, 0, full, match);
+                       c, 0, full, cmd_match);
 
        if (CMD_ARGC >= 1)
-               free(match);
+               free(cmd_match);
        return retval;
 }
 
@@ -1280,7 +1280,6 @@ struct command_context *command_init(const char *startup_tcl, Jim_Interp *interp
        context->output_handler = NULL;
        context->output_handler_priv = NULL;
 
-#if !BUILD_ECOSBOARD
        /* Create a jim interpreter if we were not handed one */
        if (interp == NULL) {
                /* Create an interpreter */
@@ -1289,7 +1288,7 @@ struct command_context *command_init(const char *startup_tcl, Jim_Interp *interp
                Jim_RegisterCoreCommands(interp);
                Jim_InitStaticExtensions(interp);
        }
-#endif
+
        context->interp = interp;
 
        /* Stick to lowercase for HostOS strings. */
@@ -1314,6 +1313,10 @@ struct command_context *command_init(const char *startup_tcl, Jim_Interp *interp
        HostOs = "ecos";
 #elif defined(__FreeBSD__)
        HostOs = "freebsd";
+#elif defined(__NetBSD__)
+       HostOs = "netbsd";
+#elif defined(__OpenBSD__)
+       HostOs = "openbsd";
 #else
 #warning "Unrecognized host OS..."
        HostOs = "other";
@@ -1349,7 +1352,6 @@ int command_context_mode(struct command_context *cmd_ctx, enum command_mode mode
 
 void process_jim_events(struct command_context *cmd_ctx)
 {
-#if !BUILD_ECOSBOARD
        static int recursion;
        if (recursion)
                return;
@@ -1357,7 +1359,6 @@ void process_jim_events(struct command_context *cmd_ctx)
        recursion++;
        Jim_ProcessEvents(cmd_ctx->interp, JIM_ALL_EVENTS | JIM_DONT_WAIT);
        recursion--;
-#endif
 }
 
 #define DEFINE_PARSE_NUM_TYPE(name, type, func, min, max) \
@@ -1403,19 +1404,21 @@ DEFINE_PARSE_NUM_TYPE(_llong, long long, strtoll, LLONG_MIN, LLONG_MAX)
                return ERROR_OK; \
        }
 
-#define DEFINE_PARSE_ULONG(name, type, min, max) \
-       DEFINE_PARSE_WRAPPER(name, type, min, max, unsigned long, _ulong)
-DEFINE_PARSE_ULONG(_uint, unsigned, 0, UINT_MAX)
-DEFINE_PARSE_ULONG(_u32, uint32_t, 0, UINT32_MAX)
-DEFINE_PARSE_ULONG(_u16, uint16_t, 0, UINT16_MAX)
-DEFINE_PARSE_ULONG(_u8, uint8_t, 0, UINT8_MAX)
-
-#define DEFINE_PARSE_LONG(name, type, min, max)        \
-       DEFINE_PARSE_WRAPPER(name, type, min, max, long, _long)
-DEFINE_PARSE_LONG(_int, int, n < INT_MIN, INT_MAX)
-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 DEFINE_PARSE_ULONGLONG(name, type, min, max) \
+       DEFINE_PARSE_WRAPPER(name, type, min, max, unsigned long long, _ullong)
+DEFINE_PARSE_ULONGLONG(_uint, unsigned, 0, UINT_MAX)
+DEFINE_PARSE_ULONGLONG(_u64,  uint64_t, 0, UINT64_MAX)
+DEFINE_PARSE_ULONGLONG(_u32,  uint32_t, 0, UINT32_MAX)
+DEFINE_PARSE_ULONGLONG(_u16,  uint16_t, 0, UINT16_MAX)
+DEFINE_PARSE_ULONGLONG(_u8,   uint8_t,  0, UINT8_MAX)
+
+#define DEFINE_PARSE_LONGLONG(name, type, min, max) \
+       DEFINE_PARSE_WRAPPER(name, type, min, max, long long, _llong)
+DEFINE_PARSE_LONGLONG(_int, int,     n < INT_MIN,   INT_MAX)
+DEFINE_PARSE_LONGLONG(_s64, int64_t, n < INT64_MIN, INT64_MAX)
+DEFINE_PARSE_LONGLONG(_s32, int32_t, n < INT32_MIN, INT32_MAX)
+DEFINE_PARSE_LONGLONG(_s16, int16_t, n < INT16_MIN, INT16_MAX)
+DEFINE_PARSE_LONGLONG(_s8,  int8_t,  n < INT8_MIN,  INT8_MAX)
 
 static int command_parse_bool(const char *in, bool *out,
        const char *on, const char *off)

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)