summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-03-25 10:10:16 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2017-03-25 10:10:16 (GMT)
commit3c749fc867f69deac75f866d5c1ba0f60e54c1fa (patch)
tree4fcb45e74e28fd0336839b701712312d27e8ccc8
parent9f0aa4843f8c26937d5817f27cac4aae9c0a034f (diff)
downloadcpython-3c749fc867f69deac75f866d5c1ba0f60e54c1fa.zip
cpython-3c749fc867f69deac75f866d5c1ba0f60e54c1fa.tar.gz
cpython-3c749fc867f69deac75f866d5c1ba0f60e54c1fa.tar.bz2
Simplify partial.__new__. (#813)
Fast paths in partial.__new__ no longer needed since concatenating with empty tuple was optimized.
-rw-r--r--Modules/_functoolsmodule.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c
index 592edbb..567300e 100644
--- a/Modules/_functoolsmodule.c
+++ b/Modules/_functoolsmodule.c
@@ -66,24 +66,18 @@ partial_new(PyTypeObject *type, PyObject *args, PyObject *kw)
Py_DECREF(pto);
return NULL;
}
- if (pargs == NULL || PyTuple_GET_SIZE(pargs) == 0) {
+ if (pargs == NULL) {
pto->args = nargs;
- Py_INCREF(nargs);
- }
- else if (PyTuple_GET_SIZE(nargs) == 0) {
- pto->args = pargs;
- Py_INCREF(pargs);
}
else {
pto->args = PySequence_Concat(pargs, nargs);
+ Py_DECREF(nargs);
if (pto->args == NULL) {
- Py_DECREF(nargs);
Py_DECREF(pto);
return NULL;
}
assert(PyTuple_Check(pto->args));
}
- Py_DECREF(nargs);
if (pkw == NULL || PyDict_GET_SIZE(pkw) == 0) {
if (kw == NULL) {