mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
empty kw dict is ok for builtins
This commit is contained in:
parent
a1633cd993
commit
e3e61c1642
1 changed files with 6 additions and 1 deletions
|
@ -2281,6 +2281,11 @@ PyEval_CallObjectWithKeywords(func, arg, kw)
|
||||||
else
|
else
|
||||||
INCREF(arg);
|
INCREF(arg);
|
||||||
|
|
||||||
|
if (kw != NULL && !is_dictobject(kw)) {
|
||||||
|
err_setstr(TypeError, "keyword list must be a dictionary");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (call = func->ob_type->tp_call)
|
if (call = func->ob_type->tp_call)
|
||||||
result = (*call)(func, arg, kw);
|
result = (*call)(func, arg, kw);
|
||||||
else if (is_instancemethodobject(func) || is_funcobject(func))
|
else if (is_instancemethodobject(func) || is_funcobject(func))
|
||||||
|
@ -2316,7 +2321,7 @@ call_builtin(func, arg, kw)
|
||||||
}
|
}
|
||||||
if (flags & METH_KEYWORDS)
|
if (flags & METH_KEYWORDS)
|
||||||
return (*(PyCFunctionWithKeywords)meth)(self, arg, kw);
|
return (*(PyCFunctionWithKeywords)meth)(self, arg, kw);
|
||||||
if (kw != NULL) {
|
if (kw != NULL && getmappingsize(kw) != 0) {
|
||||||
err_setstr(TypeError,
|
err_setstr(TypeError,
|
||||||
"this function takes no keyword arguments");
|
"this function takes no keyword arguments");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue