bpo-39943: Properly const the pointers in dictkeys_get_index (GH-19170)
This commit is contained in:
parent
cb6534e1a8
commit
62d21c9d90
|
@ -331,27 +331,27 @@ dictkeys_decref(PyDictKeysObject *dk)
|
|||
|
||||
/* lookup indices. returns DKIX_EMPTY, DKIX_DUMMY, or ix >=0 */
|
||||
static inline Py_ssize_t
|
||||
dictkeys_get_index(PyDictKeysObject *keys, Py_ssize_t i)
|
||||
dictkeys_get_index(const PyDictKeysObject *keys, Py_ssize_t i)
|
||||
{
|
||||
Py_ssize_t s = DK_SIZE(keys);
|
||||
Py_ssize_t ix;
|
||||
|
||||
if (s <= 0xff) {
|
||||
int8_t *indices = (int8_t*)(keys->dk_indices);
|
||||
const int8_t *indices = (const int8_t*)(keys->dk_indices);
|
||||
ix = indices[i];
|
||||
}
|
||||
else if (s <= 0xffff) {
|
||||
int16_t *indices = (int16_t*)(keys->dk_indices);
|
||||
const int16_t *indices = (const int16_t*)(keys->dk_indices);
|
||||
ix = indices[i];
|
||||
}
|
||||
#if SIZEOF_VOID_P > 4
|
||||
else if (s > 0xffffffff) {
|
||||
int64_t *indices = (int64_t*)(keys->dk_indices);
|
||||
const int64_t *indices = (const int64_t*)(keys->dk_indices);
|
||||
ix = indices[i];
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
int32_t *indices = (int32_t*)(keys->dk_indices);
|
||||
const int32_t *indices = (const int32_t*)(keys->dk_indices);
|
||||
ix = indices[i];
|
||||
}
|
||||
assert(ix >= DKIX_DUMMY);
|
||||
|
|
Loading…
Reference in New Issue