Disallow keyword arguments for type constructors that don't use them.

(fixes bug #1119418)
This commit is contained in:
Georg Brandl 2005-08-26 06:42:30 +00:00
parent bd77da6dab
commit 02c42871cf
13 changed files with 100 additions and 13 deletions

View file

@ -1799,18 +1799,9 @@ array_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
char c;
PyObject *initial = NULL, *it = NULL;
struct arraydescr *descr;
if (kwds != NULL) {
int i = PyObject_Length(kwds);
if (i < 0)
return NULL;
else if (i > 0) {
PyErr_SetString(PyExc_TypeError,
"array.array constructor takes "
"no keyword arguments");
return NULL;
}
}
if (!_PyArg_NoKeywords("array.array()", kwds))
return NULL;
if (!PyArg_ParseTuple(args, "c|O:array", &c, &initial))
return NULL;