summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r--generic/tclInt.h14
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
/*
*----------------------------------------------------------------