diff Objects/floatobject.c @ 47393:0da27fdf0192

Refactor and clean up str.format() code (and helpers) in advance of optimizations.
author Eric Smith <eric@trueblade.com>
date Fri, 30 May 2008 18:10:19 +0000
parents 17cd612b06da
children 6a7eb0b70198
line wrap: on
line diff
--- a/Objects/floatobject.c	Fri May 30 12:05:02 2008 +0000
+++ b/Objects/floatobject.c	Fri May 30 18:10:19 2008 +0000
@@ -7,8 +7,6 @@
 #include "Python.h"
 #include "structseq.h"
 
-#include "formatter_unicode.h"
-
 #include <ctype.h>
 #include <float.h>
 
@@ -1303,10 +1301,13 @@
 static PyObject *
 float__format__(PyObject *self, PyObject *args)
 {
-    /* when back porting this to 2.6, check type of the format_spec
-       and call either unicode_long__format__ or
-       string_long__format__ */
-    return unicode_float__format__(self, args);
+	PyObject *format_spec;
+
+	if (!PyArg_ParseTuple(args, "U:__format__", &format_spec))
+		return NULL;
+	return _PyFloat_FormatAdvanced(self,
+				       PyUnicode_AS_UNICODE(format_spec),
+				       PyUnicode_GET_SIZE(format_spec));
 }
 
 PyDoc_STRVAR(float__format__doc,