jtag: linuxgpiod: drop extra parenthesis
[openocd.git] / src / helper / jim-nvp.c
index be94f15911d59a20bd8ff16a37e07a1401b3aae5..e1ab64ae5b1cf5d1d0603f73db0ae3ceb5d48425 100644 (file)
+// SPDX-License-Identifier: BSD-2-Clause-Views
+
+/* Jim - A small embeddable Tcl interpreter
+ *
+ * Copyright 2005 Salvatore Sanfilippo <antirez@invece.org>
+ * Copyright 2005 Clemens Hintze <c.hintze@gmx.net>
+ * Copyright 2005 patthoyts - Pat Thoyts <patthoyts@users.sf.net>
+ * Copyright 2008 oharboe - Ã˜yvind Harboe - oyvind.harboe@zylin.com
+ * Copyright 2008 Andrew Lunn <andrew@lunn.ch>
+ * Copyright 2008 Duane Ellis <openocd@duaneellis.com>
+ * Copyright 2008 Uwe Klein <uklein@klein-messgeraete.de>
+ * Copyright 2008 Steve Bennett <steveb@workware.net.au>
+ * Copyright 2009 Nico Coesel <ncoesel@dealogic.nl>
+ * Copyright 2009 Zachary T Welch zw@superlucidity.net
+ * Copyright 2009 David Brownell
+ * Copyright (c) 2005-2011 Jim Tcl Project. All rights reserved.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "jim-nvp.h"
 #include <string.h>
-#include <jim-nvp.h>
 
-int Jim_GetNvp(Jim_Interp *interp,
-    Jim_Obj *objPtr, const Jim_Nvp * nvp_table, const Jim_Nvp ** result)
+int jim_get_nvp(Jim_Interp *interp,
+       Jim_Obj *objptr, const struct jim_nvp *nvp_table, const struct jim_nvp **result)
 {
-    Jim_Nvp *n;
-    int e;
-
-    e = Jim_Nvp_name2value_obj(interp, nvp_table, objPtr, &n);
-    if (e == JIM_ERR) {
-        return e;
-    }
-
-    /* Success? found? */
-    if (n->name) {
-        /* remove const */
-        *result = (Jim_Nvp *) n;
-        return JIM_OK;
-    }
-    else {
-        return JIM_ERR;
-    }
+       struct jim_nvp *n;
+       int e;
+
+       e = jim_nvp_name2value_obj(interp, nvp_table, objptr, &n);
+       if (e == JIM_ERR)
+               return e;
+
+       /* Success? found? */
+       if (n->name) {
+               /* remove const */
+               *result = (struct jim_nvp *)n;
+               return JIM_OK;
+       } else
+               return JIM_ERR;
 }
 
-Jim_Nvp *Jim_Nvp_name2value_simple(const Jim_Nvp * p, const char *name)
+struct jim_nvp *jim_nvp_name2value_simple(const struct jim_nvp *p, const char *name)
 {
-    while (p->name) {
-        if (0 == strcmp(name, p->name)) {
-            break;
-        }
-        p++;
-    }
-    return ((Jim_Nvp *) (p));
+       while (p->name) {
+               if (strcmp(name, p->name) == 0)
+                       break;
+               p++;
+       }
+       return (struct jim_nvp *)p;
 }
 
-Jim_Nvp *Jim_Nvp_name2value_nocase_simple(const Jim_Nvp * p, const char *name)
+struct jim_nvp *jim_nvp_name2value_nocase_simple(const struct jim_nvp *p, const char *name)
 {
-    while (p->name) {
-        if (0 == strcasecmp(name, p->name)) {
-            break;
-        }
-        p++;
-    }
-    return ((Jim_Nvp *) (p));
+       while (p->name) {
+               if (strcasecmp(name, p->name) == 0)
+                       break;
+               p++;
+       }
+       return (struct jim_nvp *)p;
 }
 
-int Jim_Nvp_name2value_obj(Jim_Interp *interp, const Jim_Nvp * p, Jim_Obj *o, Jim_Nvp ** result)
+int jim_nvp_name2value_obj(Jim_Interp *interp, const struct jim_nvp *p, Jim_Obj *o, struct jim_nvp **result)
 {
-    return Jim_Nvp_name2value(interp, p, Jim_String(o), result);
+       return jim_nvp_name2value(interp, p, Jim_String(o), result);
 }
 
-
-int Jim_Nvp_name2value(Jim_Interp *interp, const Jim_Nvp * _p, const char *name, Jim_Nvp ** result)
+int jim_nvp_name2value(Jim_Interp *interp, const struct jim_nvp *_p, const char *name, struct jim_nvp **result)
 {
-    const Jim_Nvp *p;
-
-    p = Jim_Nvp_name2value_simple(_p, name);
-
-    /* result */
-    if (result) {
-        *result = (Jim_Nvp *) (p);
-    }
-
-    /* found? */
-    if (p->name) {
-        return JIM_OK;
-    }
-    else {
-        return JIM_ERR;
-    }
+       const struct jim_nvp *p;
+
+       p = jim_nvp_name2value_simple(_p, name);
+
+       /* result */
+       if (result)
+               *result = (struct jim_nvp *)p;
+
+       /* found? */
+       if (p->name)
+               return JIM_OK;
+       else
+               return JIM_ERR;
 }
 
-int
-Jim_Nvp_name2value_obj_nocase(Jim_Interp *interp, const Jim_Nvp * p, Jim_Obj *o, Jim_Nvp ** puthere)
+int jim_nvp_name2value_obj_nocase(Jim_Interp *interp,
+       const struct jim_nvp *p,
+       Jim_Obj *o,
+       struct jim_nvp **puthere)
 {
-    return Jim_Nvp_name2value_nocase(interp, p, Jim_String(o), puthere);
+       return jim_nvp_name2value_nocase(interp, p, Jim_String(o), puthere);
 }
 
-int
-Jim_Nvp_name2value_nocase(Jim_Interp *interp, const Jim_Nvp * _p, const char *name,
-    Jim_Nvp ** puthere)
+int jim_nvp_name2value_nocase(Jim_Interp *interp, const struct jim_nvp *_p, const char *name,
+       struct jim_nvp **puthere)
 {
-    const Jim_Nvp *p;
-
-    p = Jim_Nvp_name2value_nocase_simple(_p, name);
-
-    if (puthere) {
-        *puthere = (Jim_Nvp *) (p);
-    }
-    /* found */
-    if (p->name) {
-        return JIM_OK;
-    }
-    else {
-        return JIM_ERR;
-    }
-}
+       const struct jim_nvp *p;
+
+       p = jim_nvp_name2value_nocase_simple(_p, name);
 
+       if (puthere)
+               *puthere = (struct jim_nvp *)p;
+                                               /* found */
+       if (p->name)
+               return JIM_OK;
+       else
+               return JIM_ERR;
+}
 
-int Jim_Nvp_value2name_obj(Jim_Interp *interp, const Jim_Nvp * p, Jim_Obj *o, Jim_Nvp ** result)
+int jim_nvp_value2name_obj(Jim_Interp *interp, const struct jim_nvp *p, Jim_Obj *o, struct jim_nvp **result)
 {
-    int e;;
-    jim_wide w;
+       int e;
+       jim_wide w;
 
-    e = Jim_GetWide(interp, o, &w);
-    if (e != JIM_OK) {
-        return e;
-    }
+       e = Jim_GetWide(interp, o, &w);
+       if (e != JIM_OK)
+               return e;
 
-    return Jim_Nvp_value2name(interp, p, w, result);
+       return jim_nvp_value2name(interp, p, w, result);
 }
 
-Jim_Nvp *Jim_Nvp_value2name_simple(const Jim_Nvp * p, int value)
+struct jim_nvp *jim_nvp_value2name_simple(const struct jim_nvp *p, int value)
 {
-    while (p->name) {
-        if (value == p->value) {
-            break;
-        }
-        p++;
-    }
-    return ((Jim_Nvp *) (p));
+       while (p->name) {
+               if (value == p->value)
+                       break;
+               p++;
+       }
+       return (struct jim_nvp *)p;
 }
 
-
-int Jim_Nvp_value2name(Jim_Interp *interp, const Jim_Nvp * _p, int value, Jim_Nvp ** result)
+int jim_nvp_value2name(Jim_Interp *interp, const struct jim_nvp *_p, int value, struct jim_nvp **result)
 {
-    const Jim_Nvp *p;
+       const struct jim_nvp *p;
 
-    p = Jim_Nvp_value2name_simple(_p, value);
+       p = jim_nvp_value2name_simple(_p, value);
 
-    if (result) {
-        *result = (Jim_Nvp *) (p);
-    }
+       if (result)
+               *result = (struct jim_nvp *)p;
 
-    if (p->name) {
-        return JIM_OK;
-    }
-    else {
-        return JIM_ERR;
-    }
+       if (p->name)
+               return JIM_OK;
+       else
+               return JIM_ERR;
 }
 
-
-int Jim_GetOpt_Setup(Jim_GetOptInfo * p, Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+int jim_getopt_setup(struct jim_getopt_info *p, Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 {
-    memset(p, 0, sizeof(*p));
-    p->interp = interp;
-    p->argc = argc;
-    p->argv = argv;
+       memset(p, 0, sizeof(*p));
+       p->interp = interp;
+       p->argc = argc;
+       p->argv = argv;
 
-    return JIM_OK;
+       return JIM_OK;
 }
 
-void Jim_GetOpt_Debug(Jim_GetOptInfo * p)
+void jim_getopt_debug(struct jim_getopt_info *p)
 {
-    int x;
+       int x;
 
-    fprintf(stderr, "---args---\n");
-    for (x = 0; x < p->argc; x++) {
-        fprintf(stderr, "%2d) %s\n", x, Jim_String(p->argv[x]));
-    }
-    fprintf(stderr, "-------\n");
+       fprintf(stderr, "---args---\n");
+       for (x = 0; x < p->argc; x++)
+               fprintf(stderr, "%2d) %s\n", x, Jim_String(p->argv[x]));
+       fprintf(stderr, "-------\n");
 }
 
-
-int Jim_GetOpt_Obj(Jim_GetOptInfo * goi, Jim_Obj **puthere)
+int jim_getopt_obj(struct jim_getopt_info *goi, Jim_Obj **puthere)
 {
-    Jim_Obj *o;
-
-    o = NULL;                   // failure
-    if (goi->argc) {
-        // success
-        o = goi->argv[0];
-        goi->argc -= 1;
-        goi->argv += 1;
-    }
-    if (puthere) {
-        *puthere = o;
-    }
-    if (o != NULL) {
-        return JIM_OK;
-    }
-    else {
-        return JIM_ERR;
-    }
+       Jim_Obj *o;
+
+       o = NULL;               /* failure */
+       if (goi->argc) {
+               /* success */
+               o = goi->argv[0];
+               goi->argc -= 1;
+               goi->argv += 1;
+       }
+       if (puthere)
+               *puthere = o;
+       if (o)
+               return JIM_OK;
+       else
+               return JIM_ERR;
 }
 
-int Jim_GetOpt_String(Jim_GetOptInfo * goi, char **puthere, int *len)
+int jim_getopt_string(struct jim_getopt_info *goi, const char **puthere, int *len)
 {
-    int r;
-    Jim_Obj *o;
-    const char *cp;
-
-
-    r = Jim_GetOpt_Obj(goi, &o);
-    if (r == JIM_OK) {
-        cp = Jim_GetString(o, len);
-        if (puthere) {
-            /* remove const */
-            *puthere = (char *)(cp);
-        }
-    }
-    return r;
+       int r;
+       Jim_Obj *o;
+       const char *cp;
+
+       r = jim_getopt_obj(goi, &o);
+       if (r == JIM_OK) {
+               cp = Jim_GetString(o, len);
+               if (puthere) {
+                       *puthere = cp;
+               }
+       }
+       return r;
 }
 
-int Jim_GetOpt_Double(Jim_GetOptInfo * goi, double *puthere)
+int jim_getopt_double(struct jim_getopt_info *goi, double *puthere)
 {
-    int r;
-    Jim_Obj *o;
-    double _safe;
-
-    if (puthere == NULL) {
-        puthere = &_safe;
-    }
-
-    r = Jim_GetOpt_Obj(goi, &o);
-    if (r == JIM_OK) {
-        r = Jim_GetDouble(goi->interp, o, puthere);
-        if (r != JIM_OK) {
-            Jim_SetResultFormatted(goi->interp, "not a number: %#s", o);
-        }
-    }
-    return r;
+       int r;
+       Jim_Obj *o;
+       double _safe;
+
+       if (!puthere)
+               puthere = &_safe;
+
+       r = jim_getopt_obj(goi, &o);
+       if (r == JIM_OK) {
+               r = Jim_GetDouble(goi->interp, o, puthere);
+               if (r != JIM_OK)
+                       Jim_SetResultFormatted(goi->interp, "not a number: %#s", o);
+       }
+       return r;
 }
 
-int Jim_GetOpt_Wide(Jim_GetOptInfo * goi, jim_wide * puthere)
+int jim_getopt_wide(struct jim_getopt_info *goi, jim_wide *puthere)
 {
-    int r;
-    Jim_Obj *o;
-    jim_wide _safe;
-
-    if (puthere == NULL) {
-        puthere = &_safe;
-    }
-
-    r = Jim_GetOpt_Obj(goi, &o);
-    if (r == JIM_OK) {
-        r = Jim_GetWide(goi->interp, o, puthere);
-    }
-    return r;
+       int r;
+       Jim_Obj *o;
+       jim_wide _safe;
+
+       if (!puthere)
+               puthere = &_safe;
+
+       r = jim_getopt_obj(goi, &o);
+       if (r == JIM_OK)
+               r = Jim_GetWide(goi->interp, o, puthere);
+       return r;
 }
 
-int Jim_GetOpt_Nvp(Jim_GetOptInfo * goi, const Jim_Nvp * nvp, Jim_Nvp ** puthere)
+int jim_getopt_nvp(struct jim_getopt_info *goi, const struct jim_nvp *nvp, struct jim_nvp **puthere)
 {
-    Jim_Nvp *_safe;
-    Jim_Obj *o;
-    int e;
+       struct jim_nvp *_safe;
+       Jim_Obj *o;
+       int e;
 
-    if (puthere == NULL) {
-        puthere = &_safe;
-    }
+       if (!puthere)
+               puthere = &_safe;
 
-    e = Jim_GetOpt_Obj(goi, &o);
-    if (e == JIM_OK) {
-        e = Jim_Nvp_name2value_obj(goi->interp, nvp, o, puthere);
-    }
+       e = jim_getopt_obj(goi, &o);
+       if (e == JIM_OK)
+               e = jim_nvp_name2value_obj(goi->interp, nvp, o, puthere);
 
-    return e;
+       return e;
 }
 
-void Jim_GetOpt_NvpUnknown(Jim_GetOptInfo * goi, const Jim_Nvp * nvptable, int hadprefix)
+void jim_getopt_nvp_unknown(struct jim_getopt_info *goi, const struct jim_nvp *nvptable, int hadprefix)
 {
-    if (hadprefix) {
-        Jim_SetResult_NvpUnknown(goi->interp, goi->argv[-2], goi->argv[-1], nvptable);
-    }
-    else {
-        Jim_SetResult_NvpUnknown(goi->interp, NULL, goi->argv[-1], nvptable);
-    }
+       if (hadprefix)
+               jim_set_result_nvp_unknown(goi->interp, goi->argv[-2], goi->argv[-1], nvptable);
+       else
+               jim_set_result_nvp_unknown(goi->interp, NULL, goi->argv[-1], nvptable);
 }
 
-
-int Jim_GetOpt_Enum(Jim_GetOptInfo * goi, const char *const *lookup, int *puthere)
+int jim_getopt_enum(struct jim_getopt_info *goi, const char *const *lookup, int *puthere)
 {
-    int _safe;
-    Jim_Obj *o;
-    int e;
-
-    if (puthere == NULL) {
-        puthere = &_safe;
-    }
-    e = Jim_GetOpt_Obj(goi, &o);
-    if (e == JIM_OK) {
-        e = Jim_GetEnum(goi->interp, o, lookup, puthere, "option", JIM_ERRMSG);
-    }
-    return e;
+       int _safe;
+       Jim_Obj *o;
+       int e;
+
+       if (!puthere)
+               puthere = &_safe;
+       e = jim_getopt_obj(goi, &o);
+       if (e == JIM_OK)
+               e = Jim_GetEnum(goi->interp, o, lookup, puthere, "option", JIM_ERRMSG);
+       return e;
 }
 
-void
-Jim_SetResult_NvpUnknown(Jim_Interp *interp,
-    Jim_Obj *param_name, Jim_Obj *param_value, const Jim_Nvp * nvp)
+void jim_set_result_nvp_unknown(Jim_Interp *interp,
+       Jim_Obj *param_name, Jim_Obj *param_value, const struct jim_nvp *nvp)
 {
-    if (param_name) {
-        Jim_SetResultFormatted(interp, "%#s: Unknown: %#s, try one of: ", param_name, param_value);
-    }
-    else {
-        Jim_SetResultFormatted(interp, "Unknown param: %#s, try one of: ", param_value);
-    }
-    while (nvp->name) {
-        const char *a;
-        const char *b;
-
-        if ((nvp + 1)->name) {
-            a = nvp->name;
-            b = ", ";
-        }
-        else {
-            a = "or ";
-            b = nvp->name;
-        }
-        Jim_AppendStrings(interp, Jim_GetResult(interp), a, b, NULL);
-        nvp++;
-    }
+       if (param_name)
+               Jim_SetResultFormatted(interp,
+                       "%#s: Unknown: %#s, try one of: ",
+                       param_name,
+                       param_value);
+       else
+               Jim_SetResultFormatted(interp, "Unknown param: %#s, try one of: ", param_value);
+       while (nvp->name) {
+               const char *a;
+               const char *b;
+
+               if ((nvp + 1)->name) {
+                       a = nvp->name;
+                       b = ", ";
+               } else {
+                       a = "or ";
+                       b = nvp->name;
+               }
+               Jim_AppendStrings(interp, Jim_GetResult(interp), a, b, NULL);
+               nvp++;
+       }
 }
 
-const char *Jim_Debug_ArgvString(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+const char *jim_debug_argv_string(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 {
-    static Jim_Obj *debug_string_obj;
-
-    int x;
+       static Jim_Obj *debug_string_obj;
 
-    if (debug_string_obj) {
-        Jim_FreeObj(interp, debug_string_obj);
-    }
+       int x;
 
-    debug_string_obj = Jim_NewEmptyStringObj(interp);
-    for (x = 0; x < argc; x++) {
-        Jim_AppendStrings(interp, debug_string_obj, Jim_String(argv[x]), " ", NULL);
-    }
+       if (debug_string_obj)
+               Jim_FreeObj(interp, debug_string_obj);
 
-    return Jim_String(debug_string_obj);
-}
+       debug_string_obj = Jim_NewEmptyStringObj(interp);
+       for (x = 0; x < argc; x++)
+               Jim_AppendStrings(interp, debug_string_obj, Jim_String(argv[x]), " ", NULL);
 
-int Jim_nvpInit(Jim_Interp *interp)
-{
-    /* This is really a helper library, not an extension, but this is the easy way */
-    return JIM_OK;
+       return Jim_String(debug_string_obj);
 }

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)