Make sure that marshal and pickle continue to output 17
digits of precision for floats.
diff --git a/Python/marshal.c b/Python/marshal.c
index 0d55132..911d2e1 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -237,7 +237,7 @@
 		}
 		else {
 			char *buf = PyOS_double_to_string(PyFloat_AS_DOUBLE(v),
-                                                          'r', 0, 0, NULL);
+                                                          'g', 17, 0, NULL);
 			if (!buf)
                             return;
 			n = strlen(buf);
@@ -269,7 +269,7 @@
 			char *buf;
 			w_byte(TYPE_COMPLEX, p);
 			buf = PyOS_double_to_string(PyComplex_RealAsDouble(v),
-                                                    'r', 0, 0, NULL);
+                                                    'g', 17, 0, NULL);
 			if (!buf)
                             return;
 			n = strlen(buf);
@@ -277,7 +277,7 @@
 			w_string(buf, (int)n, p);
 			PyMem_Free(buf);
 			buf = PyOS_double_to_string(PyComplex_ImagAsDouble(v),
-                                                    'r', 0, 0, NULL);
+                                                    'g', 17, 0, NULL);
 			if (!buf)
                             return;
 			n = strlen(buf);