Remove PyFloat_AsReprString() and PyFloat_AsString() which should not
have been public due to passing buffers without lengths.
diff --git a/Python/marshal.c b/Python/marshal.c
index 4e02ac6..1819eac 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -182,8 +182,8 @@
 		}
 		else {
 			char buf[256]; /* Plenty to format any double */
-			PyFloat_AsReprString(buf, (PyFloatObject *)v);
-			n = strlen(buf);
+			n = _PyFloat_Repr(PyFloat_AS_DOUBLE(v),
+					  buf, sizeof(buf));
 			w_byte(TYPE_FLOAT, p);
 			w_byte((int)n, p);
 			w_string(buf, (int)n, p);
@@ -209,28 +209,14 @@
 		}
 		else {
 			char buf[256]; /* Plenty to format any double */
-			PyFloatObject *temp;
 			w_byte(TYPE_COMPLEX, p);
-			temp = (PyFloatObject*)PyFloat_FromDouble(
-				PyComplex_RealAsDouble(v));
-			if (!temp) {
-				p->error = 1;
-				return;
-			}
-			PyFloat_AsReprString(buf, temp);
-			Py_DECREF(temp);
+			n = _PyFloat_Repr(PyComplex_RealAsDouble(v),
+					  buf, sizeof(buf));
 			n = strlen(buf);
 			w_byte((int)n, p);
 			w_string(buf, (int)n, p);
-			temp = (PyFloatObject*)PyFloat_FromDouble(
-				PyComplex_ImagAsDouble(v));
-			if (!temp) {
-				p->error = 1;
-				return;
-			}
-			PyFloat_AsReprString(buf, temp);
-			Py_DECREF(temp);
-			n = strlen(buf);
+			n = _PyFloat_Repr(PyComplex_ImagAsDouble(v),
+					  buf, sizeof(buf));
 			w_byte((int)n, p);
 			w_string(buf, (int)n, p);
 		}