]> granicus.if.org Git - python/commitdiff
Inline create_specialmethod() -- since METH_CLASS is done differently
authorGuido van Rossum <guido@python.org>
Tue, 11 Feb 2003 17:12:46 +0000 (17:12 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 11 Feb 2003 17:12:46 +0000 (17:12 +0000)
now, it was only called once, and its existence merely obfuscates the
control flow.

Objects/typeobject.c

index f37bb1b653106812e270a673c5b58e0fc39ba777..38d5956d1343428b9b0029636010e06e4d334711 100644 (file)
@@ -2494,20 +2494,6 @@ PyTypeObject PyBaseObject_Type = {
 
 /* Initialize the __dict__ in a type object */
 
-static PyObject *
-create_specialmethod(PyMethodDef *meth, PyObject *(*func)(PyObject *))
-{
-       PyObject *cfunc;
-       PyObject *result;
-
-       cfunc = PyCFunction_New(meth, NULL);
-       if (cfunc == NULL)
-               return NULL;
-       result = func(cfunc);
-       Py_DECREF(cfunc);
-       return result;
-}
-
 static int
 add_methods(PyTypeObject *type, PyMethodDef *meth)
 {
@@ -2526,7 +2512,11 @@ add_methods(PyTypeObject *type, PyMethodDef *meth)
                        descr = PyDescr_NewClassMethod(type, meth);
                }
                else if (meth->ml_flags & METH_STATIC) {
-                       descr = create_specialmethod(meth, PyStaticMethod_New);
+                       PyObject *cfunc = PyCFunction_New(meth, NULL);
+                       if (cfunc == NULL)
+                               return -1;
+                       descr = PyStaticMethod_New(cfunc);
+                       Py_DECREF(cfunc);
                }
                else {
                        descr = PyDescr_NewMethod(type, meth);