From bf623ae8843dc30b28c574bec8d29fc14be59d86 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 19 Apr 2017 20:03:52 +0300 Subject: bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096) raised an error. Replace them with using concrete types API that never fails if appropriate. --- Objects/namespaceobject.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'Objects/namespaceobject.c') diff --git a/Objects/namespaceobject.c b/Objects/namespaceobject.c index 0bb3063844..6deca961a4 100644 --- a/Objects/namespaceobject.c +++ b/Objects/namespaceobject.c @@ -40,15 +40,9 @@ namespace_new(PyTypeObject *type, PyObject *args, PyObject *kwds) static int namespace_init(_PyNamespaceObject *ns, PyObject *args, PyObject *kwds) { - // ignore args if it's NULL or empty - if (args != NULL) { - Py_ssize_t argcount = PyObject_Size(args); - if (argcount < 0) - return -1; - else if (argcount > 0) { - PyErr_Format(PyExc_TypeError, "no positional arguments expected"); - return -1; - } + if (PyTuple_GET_SIZE(args) != 0) { + PyErr_Format(PyExc_TypeError, "no positional arguments expected"); + return -1; } if (kwds == NULL) return 0; -- cgit v1.2.1