mirror of https://github.com/python/cpython
Merged revisions 81709-81710 via svnmerge from
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 ........
This commit is contained in:
parent
da2cf04c28
commit
c03d7571c4
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue