diff options
| author | dgp <dgp@users.sourceforge.net> | 2023-09-06 20:35:27 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2023-09-06 20:35:27 (GMT) |
| commit | acf03d58760b6b427d032736a1ae61b0e9f1220a (patch) | |
| tree | a39d1803fadea4511e07f0995c0ed1ad7d0e0d95 /generic/tclInt.h | |
| parent | 4b135ba7bf313f34c5718a14263a24b80ee103c8 (diff) | |
| parent | 68037a7cc3e5b38365e10c6784fb856cbaf9008e (diff) | |
| download | tcl-acf03d58760b6b427d032736a1ae61b0e9f1220a.zip tcl-acf03d58760b6b427d032736a1ae61b0e9f1220a.tar.gz tcl-acf03d58760b6b427d032736a1ae61b0e9f1220a.tar.bz2 | |
merge trunk
Diffstat (limited to 'generic/tclInt.h')
| -rw-r--r-- | generic/tclInt.h | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h index d8c6882..3ee3199 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -1169,6 +1169,13 @@ TclObjTypeReplace( Tcl_ObjTypeReplaceProc *proc = TclObjTypeHasProc(objPtr, replaceProc); return proc(interp, objPtr, first, numToDelete, numToInsert, insertObjs); } +static inline int +TclObjTypeInOperator(Tcl_Interp *interp, struct Tcl_Obj *valueObj, + struct Tcl_Obj *listObj, int *boolResult) +{ + Tcl_ObjTypeInOperatorProc *proc = TclObjTypeHasProc(listObj, inOperProc); + return proc(interp, valueObj, listObj, boolResult); +} #endif /* TCL_MAJOR_VERSION > 8 */ @@ -3253,8 +3260,6 @@ MODULE_SCOPE Tcl_Command TclCreateEnsembleInNs(Tcl_Interp *interp, MODULE_SCOPE void TclDeleteNamespaceVars(Namespace *nsPtr); MODULE_SCOPE void TclDeleteNamespaceChildren(Namespace *nsPtr); MODULE_SCOPE Tcl_Size TclDictGetSize(Tcl_Obj *dictPtr); -MODULE_SCOPE Tcl_Obj *TclDuplicatePureObj(Tcl_Interp *interp, - Tcl_Obj * objPtr, const Tcl_ObjType *typPtr); MODULE_SCOPE int TclFindDictElement(Tcl_Interp *interp, const char *dict, Tcl_Size dictLength, const char **elementPtr, const char **nextPtr, @@ -3385,6 +3390,7 @@ MODULE_SCOPE Tcl_Obj * TclListObjGetElement(Tcl_Obj *listObj, Tcl_Size index); /* TIP #280 */ MODULE_SCOPE void TclListLines(Tcl_Obj *listObj, Tcl_Size line, Tcl_Size n, Tcl_Size *lines, Tcl_Obj *const *elems); +MODULE_SCOPE Tcl_Obj * TclListObjCopy(Tcl_Interp *interp, Tcl_Obj *listPtr); MODULE_SCOPE int TclListObjAppendElements(Tcl_Interp *interp, Tcl_Obj *toObj, Tcl_Size elemCount, Tcl_Obj *const elemObjv[]); @@ -4354,16 +4360,16 @@ MODULE_SCOPE int TclCommandWordLimitError(Tcl_Interp *interp, Tcl_Size count); *------------------------------------------------------------------------ */ static inline int TclGetSizeIntFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_Size *sizePtr) { -#if TCL_SIZE_MAX == INT_MAX - return TclGetIntFromObj(interp, objPtr, sizePtr); -#else - Tcl_WideInt wide; - if (TclGetWideIntFromObj(interp, objPtr, &wide) != TCL_OK) { - return TCL_ERROR; + if (sizeof(Tcl_Size) == sizeof(int)) { + return TclGetIntFromObj(interp, objPtr, (int *)sizePtr); + } else { + Tcl_WideInt wide; + if (TclGetWideIntFromObj(interp, objPtr, &wide) != TCL_OK) { + return TCL_ERROR; + } + *sizePtr = (Tcl_Size)wide; + return TCL_OK; } - *sizePtr = (Tcl_Size)wide; - return TCL_OK; -#endif } |
