summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r--generic/tclInt.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index a5e8122..9dde88b 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -4518,12 +4518,15 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file,
*/
#define TclInvalidateStringRep(objPtr) \
- if ((objPtr)->bytes != NULL) { \
- if ((objPtr)->bytes != &tclEmptyString) { \
- ckfree((objPtr)->bytes); \
+ do { \
+ Tcl_Obj *_isobjPtr = (Tcl_Obj *)(objPtr); \
+ if (_isobjPtr->bytes != NULL) { \
+ if (_isobjPtr->bytes != &tclEmptyString) { \
+ ckfree((char *)_isobjPtr->bytes); \
+ } \
+ _isobjPtr->bytes = NULL; \
} \
- (objPtr)->bytes = NULL; \
- }
+ } while (0)
/*
* These form part of the native filesystem support. They are needed here
@@ -4550,7 +4553,8 @@ MODULE_SCOPE const TclFileAttrProcs tclpFileAttrProcs[];
*----------------------------------------------------------------
*/
-#define TclHasStringRep(objPtr) ((objPtr)->bytes != NULL)
+#define TclHasStringRep(objPtr) \
+ ((objPtr)->bytes != NULL)
/*
*----------------------------------------------------------------