- Replace 'if(' with 'if ('.
[fw/openocd] / src / helper / jim.h
index 617cf002d0686049a2120fe77977d5751ba349a9..0b7f45bd530ce2fd2362c19c52632697ab001f8f 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
@@ -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)
@@ -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
@@ -1003,7 +987,7 @@ typedef struct jim_getopt {
  *
  *   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;
  *         }
@@ -1013,7 +997,7 @@ typedef struct jim_getopt {
  *             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 );
 
@@ -1120,7 +1105,7 @@ JIM_STATIC int JIM_API( Jim_GetOpt_Nvp)( Jim_GetOptInfo *goi, const Jim_Nvp *loo
  *  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 );
@@ -1131,7 +1116,7 @@ JIM_STATIC int JIM_API( Jim_GetOpt_Nvp)( Jim_GetOptInfo *goi, const Jim_Nvp *loo
  *     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: ***
- */