- Replace 'switch(' with 'switch ('.
[openocd.git] / src / helper / jim.h
index 617cf002d0686049a2120fe77977d5751ba349a9..b7fae59caab4faa2d466146fb7a0b019c818f6f0 100644 (file)
@@ -77,25 +77,6 @@ extern "C" {
 #include <stdlib.h> /* In order to export the Jim_Free() macro */
 #include <stdarg.h> /* In order to get type va_list */
 
-/* -----------------------------------------------------------------------------
-* Some /very/ old compiler maybe do not know how to
-* handle 'const'. They even do not know, how to ignore
-* it. For those compiler it may be better to compile with
-* define JIM_NO_CONST activated
-* ---------------------------------------------------------------------------*/
-
-#ifdef JIM_NO_CONST
-#  define const
-#endif
-
-/* -----------------------------------------------------------------------------
- * System configuration
- * For most modern systems, you can leave the default.
- * For embedded systems some change may be required.
- * ---------------------------------------------------------------------------*/
-
-#define HAVE_LONG_LONG
-
 /* -----------------------------------------------------------------------------
  * Compiler specific fixes.
  * ---------------------------------------------------------------------------*/
@@ -106,7 +87,7 @@ extern "C" {
 #endif /* _MSC_VER */
 
 /* Long Long type and related issues */
-#ifdef HAVE_LONG_LONG
+#ifdef HAVE_LONG_LONG_INT
 #  ifdef _MSC_VER /* MSC compiler */
 #    define jim_wide _int64
 #    ifndef LLONG_MAX
@@ -138,7 +119,7 @@ extern "C" {
  * LIBC specific fixes
  * ---------------------------------------------------------------------------*/
 
-#ifdef HAVE_LONG_LONG
+#ifdef HAVE_LONG_LONG_INT
 # if defined(_MSC_VER) || defined(__MSVCRT__)
 #    define JIM_WIDE_MODIFIER "I64d"
 # else
@@ -164,6 +145,7 @@ extern "C" {
 #define JIM_CONTINUE 4
 #define JIM_EVAL 5
 #define JIM_EXIT 6
+#define JIM_ERR_ADDSTACK 7
 #define JIM_MAX_NESTING_DEPTH 10000 /* default max nesting depth */
 
 /* Some function get an integer argument with flags to change
@@ -259,7 +241,7 @@ typedef struct Jim_HashTableIterator {
         entry->val = (ht)->type->valDup((ht)->privdata, _val_); \
     else \
         entry->val = (_val_); \
-} while(0)
+} while (0)
 
 #define Jim_FreeEntryKey(ht, entry) \
     if ((ht)->type->keyDestructor) \
@@ -270,7 +252,7 @@ typedef struct Jim_HashTableIterator {
         entry->key = (ht)->type->keyDup((ht)->privdata, _key_); \
     else \
         entry->key = (_key_); \
-} while(0)
+} while (0)
 
 #define Jim_CompareHashKeys(ht, key1, key2) \
     (((ht)->type->keyCompare) ? \
@@ -530,6 +512,7 @@ typedef struct Jim_Interp {
     struct Jim_HashTable sharedStrings; /* Shared Strings hash table */
     Jim_Obj *stackTrace; /* Stack trace object. */
     Jim_Obj *unknown; /* Unknown command cache */
+    int unknown_called; /* The unknown command has been invoked */
     int errorFlag; /* Set if an error occurred during execution. */
     int evalRetcodeLevel; /* Level where the last return with code JIM_EVAL
                              happened. */
@@ -560,6 +543,7 @@ typedef struct Jim_Interp {
  * cached can no longer considered valid. */
 #define Jim_InterpIncrProcEpoch(i) (i)->procEpoch++
 #define Jim_SetResultString(i,s,l) Jim_SetResult(i, Jim_NewStringObj(i,s,l))
+#define Jim_SetResultInt(i,intval) Jim_SetResult(i, Jim_NewIntObj(i,intval))
 #define Jim_SetEmptyResult(i) Jim_SetResult(i, (i)->emptyObj)
 #define Jim_GetResult(i) ((i)->result)
 #define Jim_CmdPrivData(i) ((i)->cmdPrivData)
@@ -571,7 +555,7 @@ typedef struct Jim_Interp {
     Jim_IncrRefCount(_resultObjPtr_); \
     Jim_DecrRefCount(i,(i)->result);  \
     (i)->result = _resultObjPtr_;     \
-} while(0)
+} while (0)
 
 /* Reference structure. The interpreter pointer is held within privdata member in HashTable */
 #define JIM_REFERENCE_TAGLEN 7 /* The tag is fixed-length, because the reference
@@ -648,7 +632,7 @@ typedef struct {
 #define JIM_API( X )  X
 #else
 #ifndef __JIM_CORE__
-# if defined JIM_EXTENSION || defined JIM_EMBEDDED
+# if defined JIM_EMBEDDED
 #  define JIM_API(x) (*x)
 #  define JIM_STATIC
 # else
@@ -1001,19 +985,19 @@ typedef struct jim_getopt {
  *
  *   Jim_GetOpt_Setup( &goi, interp, argc, argv );
  *
- *   while( goi.argc ){
+ *   while ( goi.argc ){
  *         e = Jim_GetOpt_Nvp( &goi, nvp_options, &n );
- *         if( e != JIM_OK ){
+ *         if ( e != JIM_OK ){
  *               Jim_GetOpt_NvpUnknown( &goi, nvp_options, 0 );
  *               return e;
  *         }
  *
- *         switch( n->value ){
+ *         switch ( n->value ){
  *         case ALIVE:
  *             printf("Option ALIVE specified\n");
  *             break;
  *         case FIRST:
- *             if( goi.argc < 1 ){
+ *             if ( goi.argc < 1 ){
  *                     .. not enough args error ..
  *             }
  *             Jim_GetOpt_String( &goi, &cp, NULL );
@@ -1024,7 +1008,7 @@ typedef struct jim_getopt {
  *             break;
  *         case POLITICS:
  *             e = Jim_GetOpt_Nvp( &goi, nvp_politics, &n );
- *             if( e != JIM_OK ){
+ *             if ( e != JIM_OK ){
  *                 Jim_GetOpt_NvpUnknown( &goi, nvp_politics, 1 );
  *                 return e;
  *             }
@@ -1074,6 +1058,7 @@ JIM_STATIC int JIM_API( Jim_GetOpt_Obj)( Jim_GetOptInfo *goi, Jim_Obj **puthere
  *
  * \param goi     - get opt info
  * \param puthere - where param is put
+ * \param len     - return its length
  */
 JIM_STATIC int JIM_API( Jim_GetOpt_String )( Jim_GetOptInfo *goi, char **puthere, int *len );
 
@@ -1117,21 +1102,21 @@ JIM_STATIC int JIM_API( Jim_GetOpt_Nvp)( Jim_GetOptInfo *goi, const Jim_Nvp *loo
  * Example:
  * \code
  *
- *  while( goi.argc ){
+ *  while ( goi.argc ){
  *     // Get the next option 
  *     e = Jim_GetOpt_Nvp( &goi, cmd_options, &n );
- *     if( e != JIM_OK ){
+ *     if ( e != JIM_OK ){
  *          // option was not recognized
  *          // pass 'hadprefix=0' because there is no prefix
  *          Jim_GetOpt_NvpUnknown( &goi, cmd_options, 0 );
  *          return e;
  *     }
  *
- *     switch( n->value ){
+ *     switch ( n->value ){
  *     case OPT_SEX:
  *          // handle:  --sex male|female|lots|needmore
  *          e = Jim_GetOpt_Nvp( &goi, &nvp_sex, &n );
- *          if( e != JIM_OK ){
+ *          if ( e != JIM_OK ){
  *               Jim_GetOpt_NvpUnknown( &ogi, nvp_sex, 1 );
  *               return e;
  *          }
@@ -1296,7 +1281,7 @@ static void Jim_InitExtension(Jim_Interp *interp)
   JIM_GET_API(Nvp_name2value);
   JIM_GET_API(Nvp_name2value_nocase);
   JIM_GET_API(Nvp_name2value_simple);
-
+  
   JIM_GET_API(Nvp_value2name);
   JIM_GET_API(Nvp_value2name_simple);
 
@@ -1337,11 +1322,3 @@ static __inline__ void Jim_InitEmbedded(void) {
 #endif
 
 #endif /* __JIM__H */
-
-
-/*
- * Local Variables: ***
- * c-basic-offset: 4 ***
- * tab-width: 4 ***
- * End: ***
- */

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)