Simplify and speedup uses of Py_BuildValue():
* Py_BuildValue("(OOO)",a,b,c) --> PyTuple_Pack(3,a,b,c)
* Py_BuildValue("()",a) --> PyTuple_New(0)
* Py_BuildValue("O", a) --> Py_INCREF(a)
diff --git a/Python/errors.c b/Python/errors.c
index a40844e..1788cdd 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -159,13 +159,13 @@
PyObject *args, *res;
if (value == Py_None)
- args = Py_BuildValue("()");
+ args = PyTuple_New(0);
else if (PyTuple_Check(value)) {
Py_INCREF(value);
args = value;
}
else
- args = Py_BuildValue("(O)", value);
+ args = PyTuple_Pack(1, value);
if (args == NULL)
goto finally;
@@ -560,7 +560,7 @@
classname = PyString_FromString(dot+1);
if (classname == NULL)
goto failure;
- bases = Py_BuildValue("(O)", base);
+ bases = PyTuple_Pack(1, base);
if (bases == NULL)
goto failure;
result = PyClass_New(bases, dict, classname);