summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2011-03-26 11:53:59 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2011-03-26 11:53:59 (GMT)
commit77029bd1e96f8df35c93b67699e5aee7c4546d72 (patch)
treeab47b39e8bedb1021813e1161e79eb9a80359b53 /generic/tcl.h
parentb570644554e1dc8b3efeb2a54cd329b877e8a67c (diff)
downloadtcl-77029bd1e96f8df35c93b67699e5aee7c4546d72.zip
tcl-77029bd1e96f8df35c93b67699e5aee7c4546d72.tar.gz
tcl-77029bd1e96f8df35c93b67699e5aee7c4546d72.tar.bz2
Reduce the number of casts used to manage Tcl_Obj internal representations.
Diffstat (limited to 'generic/tcl.h')
-rw-r--r--generic/tcl.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index b491944..3285c3c 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -799,11 +799,14 @@ typedef struct Tcl_Obj {
void *ptr1;
void *ptr2;
} twoPtrValue;
- struct { /* - internal rep as a wide int, tightly
- * packed fields. */
- void *ptr; /* Pointer to digits. */
- unsigned long value;/* Alloc, used, and signum packed into a
- * single word. */
+ struct { /* - internal rep as a pointer and a long,
+ * the main use of which is a bignum's
+ * tightly packed fields, where the alloc,
+ * used and signum flags are packed into a
+ * single word with everything else hung
+ * off the pointer. */
+ void *ptr;
+ unsigned long value;
} ptrAndLongRep;
} internalRep;
} Tcl_Obj;