diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-10-20 16:01:17 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-11-17 07:57:37 +1000 |
commit | 9f6ad73686d6dc1fc8628be60a0d42a6ee20817c (patch) | |
tree | 455e400d7d49937b5814d824ff40461aee93b8ff /jim.h | |
parent | abac7fb5ee7d37150951b9618ba6a0ee57d98085 (diff) | |
download | jimtcl-9f6ad73686d6dc1fc8628be60a0d42a6ee20817c.zip jimtcl-9f6ad73686d6dc1fc8628be60a0d42a6ee20817c.tar.gz jimtcl-9f6ad73686d6dc1fc8628be60a0d42a6ee20817c.tar.bz2 |
Add UTF-8 support to Jim
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.h')
-rw-r--r-- | jim.h | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -323,6 +323,7 @@ typedef struct Jim_Obj { /* String type */ struct { int maxLength; + int charLength; /* utf-8 char length. -1 if unknown */ } strValue; /* Reference type */ struct { @@ -667,6 +668,8 @@ JIM_EXPORT int Jim_Length(Jim_Obj *objPtr); /* string object */ JIM_EXPORT Jim_Obj * Jim_NewStringObj (Jim_Interp *interp, const char *s, int len); +JIM_EXPORT Jim_Obj *Jim_NewStringObjUtf8(Jim_Interp *interp, + const char *s, int charlen); JIM_EXPORT Jim_Obj * Jim_NewStringObjNoAlloc (Jim_Interp *interp, char *s, int len); JIM_EXPORT void Jim_AppendString (Jim_Interp *interp, Jim_Obj *objPtr, @@ -675,9 +678,8 @@ JIM_EXPORT void Jim_AppendObj (Jim_Interp *interp, Jim_Obj *objPtr, Jim_Obj *appendObjPtr); JIM_EXPORT void Jim_AppendStrings (Jim_Interp *interp, Jim_Obj *objPtr, ...); -JIM_EXPORT int Jim_StringEqObj (Jim_Obj *aObjPtr, - Jim_Obj *bObjPtr, int nocase); -JIM_EXPORT int Jim_StringMatchObj (Jim_Obj *patternObjPtr, +JIM_EXPORT int Jim_StringEqObj(Jim_Obj *aObjPtr, Jim_Obj *bObjPtr); +JIM_EXPORT int Jim_StringMatchObj (Jim_Interp *interp, Jim_Obj *patternObjPtr, Jim_Obj *objPtr, int nocase); JIM_EXPORT Jim_Obj * Jim_StringRangeObj (Jim_Interp *interp, Jim_Obj *strObjPtr, Jim_Obj *firstObjPtr, @@ -688,8 +690,9 @@ JIM_EXPORT Jim_Obj * Jim_ScanString (Jim_Interp *interp, Jim_Obj *strObjPtr, Jim_Obj *fmtObjPtr, int flags); JIM_EXPORT int Jim_CompareStringImmediate (Jim_Interp *interp, Jim_Obj *objPtr, const char *str); -JIM_EXPORT int Jim_StringCompareObj(Jim_Obj *firstObjPtr, Jim_Obj *secondObjPtr, - int nocase); +JIM_EXPORT int Jim_StringCompareObj(Jim_Interp *interp, Jim_Obj *firstObjPtr, + Jim_Obj *secondObjPtr, int nocase); +JIM_EXPORT int Jim_Utf8Length(Jim_Interp *interp, Jim_Obj *objPtr); /* reference object */ JIM_EXPORT Jim_Obj * Jim_NewReference (Jim_Interp *interp, @@ -711,9 +714,6 @@ JIM_EXPORT void Jim_RegisterCoreCommands (Jim_Interp *interp); JIM_EXPORT int Jim_CreateCommand (Jim_Interp *interp, const char *cmdName, Jim_CmdProc cmdProc, void *privData, Jim_DelCmdProc delProc); -JIM_EXPORT int Jim_CreateProcedure(Jim_Interp *interp, const char *cmdName, - Jim_Obj *argListObjPtr, Jim_Obj *staticsListObjPtr, Jim_Obj *bodyObjPtr, - int leftArity, int defaultArgs, int argsPos, int rightArity); JIM_EXPORT int Jim_DeleteCommand (Jim_Interp *interp, const char *cmdName); JIM_EXPORT int Jim_RenameCommand (Jim_Interp *interp, |