Skip to content

Commit b359f66

Browse files
authored
gh-120593: Make _PyLong_CompactValue() parameter const again (#122367)
Change _PyLong_IsCompact() and _PyLong_CompactValue() parameter type from 'PyObject*' to 'const PyObject*'. Avoid the Py_TYPE() macro which does not support const parameter.
1 parent aa449cf commit b359f66

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Include/cpython/longintrepr.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -119,18 +119,18 @@ PyAPI_FUNC(PyLongObject*) _PyLong_FromDigits(
119119

120120

121121
static inline int
122-
_PyLong_IsCompact(PyLongObject* op) {
123-
assert(PyType_HasFeature(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS));
122+
_PyLong_IsCompact(const PyLongObject* op) {
123+
assert(PyType_HasFeature(op->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS));
124124
return op->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS);
125125
}
126126

127127
#define PyUnstable_Long_IsCompact _PyLong_IsCompact
128128

129129
static inline Py_ssize_t
130-
_PyLong_CompactValue(PyLongObject *op)
130+
_PyLong_CompactValue(const PyLongObject *op)
131131
{
132132
Py_ssize_t sign;
133-
assert(PyType_HasFeature(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS));
133+
assert(PyType_HasFeature(op->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS));
134134
assert(PyUnstable_Long_IsCompact(op));
135135
sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK);
136136
return sign * (Py_ssize_t)op->long_value.ob_digit[0];

0 commit comments

Comments
 (0)