From 2e5642422f6234fd8d0c082142b27340e588f96e Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Mon, 6 Mar 2017 17:01:06 +0200 Subject: bpo-29695: Remove bad keyword parameters in int(), bool(), float(), list() and tuple(). (#518) --- Objects/boolobject.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'Objects/boolobject.c') diff --git a/Objects/boolobject.c b/Objects/boolobject.c index b54b0525df..becdfcbbb4 100644 --- a/Objects/boolobject.c +++ b/Objects/boolobject.c @@ -42,18 +42,13 @@ PyObject *PyBool_FromLong(long ok) static PyObject * bool_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { - static char *kwlist[] = {"x", 0}; PyObject *x = Py_False; long ok; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O:bool", kwlist, &x)) + if (!_PyArg_NoKeywords("bool()", kwds)) + return NULL; + if (!PyArg_UnpackTuple(args, "bool", 0, 1, &x)) return NULL; - if (kwds != NULL && PyDict_GET_SIZE(kwds) != 0) { - if (PyErr_Warn(PyExc_DeprecationWarning, - "Using 'x' as a keyword argument is deprecated; " - "specify the value as a positional argument instead") < 0) - return NULL; - } ok = PyObject_IsTrue(x); if (ok < 0) return NULL; -- cgit v1.2.1