bpo-46361: Fix "small" int caching (GH-30583)

This commit is contained in:
Brandt Bucher 2022-01-16 08:06:37 -08:00 committed by GitHub
parent 09087b8519
commit 5cd9a162cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 1 deletions

View file

@ -3394,6 +3394,13 @@ dec_as_long(PyObject *dec, PyObject *context, int round)
return NULL;
}
if (n == 1) {
sdigit val = mpd_arith_sign(x) * ob_digit[0];
mpd_free(ob_digit);
mpd_del(x);
return PyLong_FromLong(val);
}
assert(n > 0);
pylong = _PyLong_New(n);
if (pylong == NULL) {