]> granicus.if.org Git - python/commitdiff
Merged revisions 81709-81710 via svnmerge from
authorBenjamin Peterson <benjamin@python.org>
Sat, 5 Jun 2010 01:03:24 +0000 (01:03 +0000)
committerBenjamin Peterson <benjamin@python.org>
Sat, 5 Jun 2010 01:03:24 +0000 (01:03 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81709 | benjamin.peterson | 2010-06-04 19:56:46 -0500 (Fri, 04 Jun 2010) | 1 line

  implement object.__format__ with PyObject_Format
........
  r81710 | benjamin.peterson | 2010-06-04 20:00:10 -0500 (Fri, 04 Jun 2010) | 1 line

  fix ref counting
........

Objects/typeobject.c

index adfb0ec06740511c22c09ed614a045e3f6513f54..2d9d031a096a844ff773c8f8b20df9ce8fa2f488 100644 (file)
@@ -3310,23 +3310,15 @@ object_format(PyObject *self, PyObject *args)
     PyObject *format_spec;
     PyObject *self_as_str = NULL;
     PyObject *result = NULL;
-    PyObject *format_meth = NULL;
 
     if (!PyArg_ParseTuple(args, "U:__format__", &format_spec))
         return NULL;
 
     self_as_str = PyObject_Str(self);
-    if (self_as_str != NULL) {
-        /* find the format function */
-        format_meth = PyObject_GetAttrString(self_as_str, "__format__");
-        if (format_meth != NULL) {
-               /* and call it */
-            result = PyObject_CallFunctionObjArgs(format_meth, format_spec, NULL);
-        }
-    }
+    if (self_as_str != NULL)
+        result = PyObject_Format(self_as_str, format_spec);
 
     Py_XDECREF(self_as_str);
-    Py_XDECREF(format_meth);
 
     return result;
 }