diff options
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r-- | generic/tclInt.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h index 303cff3..899c4d6 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -4333,10 +4333,18 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file, #define TclGetString(objPtr) \ ((objPtr)->bytes? (objPtr)->bytes : Tcl_GetString(objPtr)) +#if 0 + static inline const char *TclGetStringFromObj(Tcl_Obj *objPtr, size_t *lenPtr) { + const char *response = Tcl_GetString(objPtr); + if (lenPtr) *lenPtr = objPtr->length; + return response; + } +#else #define TclGetStringFromObj(objPtr, lenPtr) \ - ((objPtr)->bytes \ - ? (*(lenPtr) = (objPtr)->length, (objPtr)->bytes) \ - : Tcl_GetStringFromObj((objPtr), (lenPtr))) + (((objPtr)->bytes \ + ? 0 : Tcl_GetString((objPtr)), \ + *(lenPtr) = (objPtr)->length, (objPtr)->bytes)) +#endif /* *---------------------------------------------------------------- |