diff options
author | pooryorick <com.digitalsmarties@pooryorick.com> | 2018-05-05 16:38:27 (GMT) |
---|---|---|
committer | pooryorick <com.digitalsmarties@pooryorick.com> | 2018-05-05 16:38:27 (GMT) |
commit | 3a3fd2954f11d13424d941346c5ede39c3bf175f (patch) | |
tree | b296d02849a41ef7aa58e8749d93e0042cf23142 /generic/tclInt.h | |
parent | 096a011c439f5f857ba14ba0827fcead0572233e (diff) | |
download | tcl-3a3fd2954f11d13424d941346c5ede39c3bf175f.zip tcl-3a3fd2954f11d13424d941346c5ede39c3bf175f.tar.gz tcl-3a3fd2954f11d13424d941346c5ede39c3bf175f.tar.bz2 |
Avoid generating string representation when comparing the empty string.
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r-- | generic/tclInt.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h index 4db4576..4bdaf58 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -2735,6 +2735,10 @@ MODULE_SCOPE long tclObjsShared[TCL_MAX_SHARED_OBJ_STATS]; MODULE_SCOPE char * tclEmptyStringRep; MODULE_SCOPE char tclEmptyString; +enum CheckEmptyStringResult { + TCL_EMPTYSTRING_UNKNOWN = -1, TCL_EMPTYSTRING_NO, TCL_EMPTYSTRING_YES +}; + /* *---------------------------------------------------------------- * Procedures shared among Tcl modules but not used by the outside world, @@ -2875,6 +2879,7 @@ MODULE_SCOPE int TclCheckArrayTraces(Tcl_Interp *interp, Var *varPtr, Var *arrayPtr, Tcl_Obj *name, int index); MODULE_SCOPE int TclCheckBadOctal(Tcl_Interp *interp, const char *value); +MODULE_SCOPE int TclCheckEmptyString(Tcl_Obj *objPtr); MODULE_SCOPE int TclChanCaughtErrorBypass(Tcl_Interp *interp, Tcl_Channel chan); MODULE_SCOPE Tcl_ObjCmdProc TclChannelNamesCmd; @@ -4455,6 +4460,11 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file, #define TclIsPureByteArray(objPtr) \ (((objPtr)->typePtr==&tclByteArrayType) && ((objPtr)->bytes==NULL)) +#define TclIsPureDict(objPtr) \ + (((objPtr)->bytes==NULL) && ((objPtr)->typePtr==&tclDictType)) + +#define TclIsPureList(objPtr) \ + (((objPtr)->bytes==NULL) && ((objPtr)->typePtr==&tclListType)) /* *---------------------------------------------------------------- |