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.
This commit is contained in:
parent
5329cdb3ce
commit
03b18834c3
|
@ -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,
|
digit) is never zero. Also, in all cases, for all valid i,
|
||||||
0 <= ob_digit[i] <= MASK.
|
0 <= ob_digit[i] <= MASK.
|
||||||
The allocation function takes care of allocating extra memory
|
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 {
|
struct _longobject {
|
||||||
PyObject_HEAD
|
PyObject_VAR_HEAD
|
||||||
int ob_size;
|
|
||||||
digit ob_digit[1];
|
digit ob_digit[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue