aboutsummaryrefslogtreecommitdiff
path: root/jim.h
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-01-24 13:46:32 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:45 +1000
commitee6dbe0a8d66f8f17a5da82e8dad810d88e33bf6 (patch)
tree994b59d11b3199f697adaea8303ae8b5dc438397 /jim.h
parent541fe7c30691ace08847a35280d9cc8bc02e9a72 (diff)
downloadjimtcl-ee6dbe0a8d66f8f17a5da82e8dad810d88e33bf6.zip
jimtcl-ee6dbe0a8d66f8f17a5da82e8dad810d88e33bf6.tar.gz
jimtcl-ee6dbe0a8d66f8f17a5da82e8dad810d88e33bf6.tar.bz2
Allow catch to specify what is caught
*: Default to the same as Tcl. Not signal, eval, exit. *: Use 'catch -exit' to also catch exit. *: Also map for standard return codes: [info returncodes] *: Also Jim_ReturnCode() *: Add Jim_FindByName() for searching in a char* array *: Fix 'info nameofexectutable' if $::jim_argv0 is not set
Diffstat (limited to 'jim.h')
-rw-r--r--jim.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/jim.h b/jim.h
index 6ff5e33..fbab8c4 100644
--- a/jim.h
+++ b/jim.h
@@ -697,6 +697,7 @@ JIM_EXPORT int Jim_GetFinalizer (Jim_Interp *interp, Jim_Obj *objPtr, Jim_Obj **
JIM_EXPORT Jim_Interp * Jim_CreateInterp (void);
JIM_EXPORT void Jim_FreeInterp (Jim_Interp *i);
JIM_EXPORT int Jim_GetExitCode (Jim_Interp *interp);
+JIM_EXPORT const char *Jim_ReturnCode(int code);
/* commands */
JIM_EXPORT void Jim_RegisterCoreCommands (Jim_Interp *interp);
@@ -822,6 +823,14 @@ JIM_EXPORT int Jim_GetEnum (Jim_Interp *interp, Jim_Obj *objPtr,
const char * const *tablePtr, int *indexPtr, const char *name, int flags);
JIM_EXPORT int Jim_ScriptIsComplete (const char *s, int len,
char *stateCharPtr);
+/**
+ * Find a matching name in the array of the given length.
+ *
+ * NULL entries are ignored.
+ *
+ * Returns the matching index if found, or -1 if not.
+ */
+JIM_EXPORT int Jim_FindByName(const char *name, const char *array[], size_t len);
/* package utilities */
typedef void (Jim_InterpDeleteProc)(Jim_Interp *interp, void *data);