diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2017-03-25 10:10:16 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2017-03-25 10:10:16 (GMT) |
commit | 3c749fc867f69deac75f866d5c1ba0f60e54c1fa (patch) | |
tree | 4fcb45e74e28fd0336839b701712312d27e8ccc8 | |
parent | 9f0aa4843f8c26937d5817f27cac4aae9c0a034f (diff) | |
download | cpython-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.c | 10 |
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) { |