bpo-15999: Accept arbitrary values for boolean parameters. (#15609)

builtins and extension module functions and methods that expect boolean values for parameters now accept any Python object rather than just a bool or int type. This is more consistent with how native Python code itself behaves.
This commit is contained in:
Serhiy Storchaka 2022-12-03 21:52:21 +02:00 committed by GitHub
parent c68573b339
commit a87c46eab3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 297 additions and 302 deletions

View file

@ -2928,8 +2928,8 @@ sock_setblocking(PySocketSockObject *s, PyObject *arg)
{
long block;
block = PyLong_AsLong(arg);
if (block == -1 && PyErr_Occurred())
block = PyObject_IsTrue(arg);
if (block < 0)
return NULL;
s->sock_timeout = _PyTime_FromSeconds(block ? -1 : 0);