From 4ef4edaa9fefe55dbe144960d74a229cfb1cf796 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Fri, 29 Apr 2016 09:12:38 +0300 Subject: [PATCH] Issue #26822: Decreased an overhead of using _PyArg_NoKeywords() in calls of itemgetter, attrgetter and methodcaller objects. --- Modules/operator.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/operator.c b/Modules/operator.c index 345c32e8e7..ae060b825e 100644 --- a/Modules/operator.c +++ b/Modules/operator.c @@ -511,7 +511,7 @@ itemgetter_call(itemgetterobject *ig, PyObject *args, PyObject *kw) PyObject *obj, *result; Py_ssize_t i, nitems=ig->nitems; - if (!_PyArg_NoKeywords("itemgetter", kw)) + if (kw != NULL && !_PyArg_NoKeywords("itemgetter", kw)) return NULL; if (!PyArg_UnpackTuple(args, "itemgetter", 1, 1, &obj)) return NULL; @@ -693,7 +693,7 @@ attrgetter_call(attrgetterobject *ag, PyObject *args, PyObject *kw) PyObject *obj, *result; Py_ssize_t i, nattrs=ag->nattrs; - if (!_PyArg_NoKeywords("attrgetter", kw)) + if (kw != NULL && !_PyArg_NoKeywords("attrgetter", kw)) return NULL; if (!PyArg_UnpackTuple(args, "attrgetter", 1, 1, &obj)) return NULL; @@ -842,7 +842,7 @@ methodcaller_call(methodcallerobject *mc, PyObject *args, PyObject *kw) { PyObject *method, *obj, *result; - if (!_PyArg_NoKeywords("methodcaller", kw)) + if (kw != NULL && !_PyArg_NoKeywords("methodcaller", kw)) return NULL; if (!PyArg_UnpackTuple(args, "methodcaller", 1, 1, &obj)) return NULL; -- 2.50.1