summaryrefslogtreecommitdiffstats
path: root/Modules/parsermodule.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2019-09-01 09:16:51 (GMT)
committerGitHub <noreply@github.com>2019-09-01 09:16:51 (GMT)
commit1f21eaa15e8a0d2b0f78d0e3f2b9e5b458eb0a70 (patch)
tree8db3de2421c1d45d018a7a1dc03f42a0797acee2 /Modules/parsermodule.c
parent5eca7f3f3836cc734dfe8dc5ec669f3b4e9333fe (diff)
downloadcpython-1f21eaa15e8a0d2b0f78d0e3f2b9e5b458eb0a70.zip
cpython-1f21eaa15e8a0d2b0f78d0e3f2b9e5b458eb0a70.tar.gz
cpython-1f21eaa15e8a0d2b0f78d0e3f2b9e5b458eb0a70.tar.bz2
bpo-15999: Clean up of handling boolean arguments. (GH-15610)
* Use the 'p' format unit instead of manually called PyObject_IsTrue(). * Pass boolean value instead 0/1 integers to functions that needs boolean. * Convert some arguments to boolean only once.
Diffstat (limited to 'Modules/parsermodule.c')
-rw-r--r--Modules/parsermodule.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index b2495fc..ef63ca9 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -1080,25 +1080,20 @@ parser__pickler(PyObject *self, PyObject *args)
NOTE(ARGUNUSED(self))
PyObject *result = NULL;
PyObject *st = NULL;
- PyObject *empty_dict = NULL;
if (PyArg_ParseTuple(args, "O!:_pickler", &PyST_Type, &st)) {
PyObject *newargs;
PyObject *tuple;
- if ((empty_dict = PyDict_New()) == NULL)
- goto finally;
- if ((newargs = Py_BuildValue("Oi", st, 1)) == NULL)
- goto finally;
- tuple = parser_st2tuple((PyST_Object*)NULL, newargs, empty_dict);
+ if ((newargs = PyTuple_Pack(2, st, Py_True)) == NULL)
+ return NULL;
+ tuple = parser_st2tuple((PyST_Object*)NULL, newargs, NULL);
if (tuple != NULL) {
result = Py_BuildValue("O(O)", pickle_constructor, tuple);
Py_DECREF(tuple);
}
Py_DECREF(newargs);
}
- finally:
- Py_XDECREF(empty_dict);
return (result);
}