Refactor and clean up str.format() code (and helpers) in advance of optimizations.
diff --git a/Include/longobject.h b/Include/longobject.h
index 8a9e676..fa511a7 100644
--- a/Include/longobject.h
+++ b/Include/longobject.h
@@ -119,6 +119,12 @@
    a leading "0", instead of the prefix "0o" */
 PyAPI_FUNC(PyObject *) _PyLong_Format(PyObject *aa, int base, int addL, int newstyle);
 
+/* Format the object based on the format_spec, as defined in PEP 3101
+   (Advanced String Formatting). */
+PyAPI_FUNC(PyObject *) _PyLong_FormatAdvanced(PyObject *obj,
+					      char *format_spec,
+					      Py_ssize_t format_spec_len);
+
 #ifdef __cplusplus
 }
 #endif