From 03b18834c33dff7b231a22e5da28c8a9f250d1d3 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Sat, 2 Mar 2002 04:33:09 +0000 Subject: [PATCH] For clarity, change _longobject to build directly from PyObject_VAR_HEAD instead of faking it by hand. It *is* a var object, and nothing but hysterical raisins to pretend it's an oddball. --- Include/longintrepr.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Include/longintrepr.h b/Include/longintrepr.h index 89ba5867e06..abf86406840 100644 --- a/Include/longintrepr.h +++ b/Include/longintrepr.h @@ -36,11 +36,14 @@ typedef BASE_TWODIGITS_TYPE stwodigits; /* signed variant of twodigits */ digit) is never zero. Also, in all cases, for all valid i, 0 <= ob_digit[i] <= MASK. The allocation function takes care of allocating extra memory - so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available. */ + so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available. + + CAUTION: Generic code manipulating subtypes of PyVarObject has to + aware that longs abuse ob_size's sign bit. +*/ struct _longobject { - PyObject_HEAD - int ob_size; + PyObject_VAR_HEAD digit ob_digit[1]; };