Changed to use 'U' argument to PyArg_ParseTuple, instead of manually checking for unicode objects.
diff --git a/Objects/stringlib/formatter.h b/Objects/stringlib/formatter.h
index 8e2b8ef..ee0971d 100644
--- a/Objects/stringlib/formatter.h
+++ b/Objects/stringlib/formatter.h
@@ -768,12 +768,8 @@
PyObject *result = NULL;
InternalFormatSpec format;
- if (!PyArg_ParseTuple(args, "O:__format__", &format_spec))
+ if (!PyArg_ParseTuple(args, STRINGLIB_PARSE_CODE ":__format__", &format_spec))
goto done;
- if (!STRINGLIB_CHECK(format_spec)) {
- PyErr_SetString(PyExc_TypeError, STRINGLIB_TYPE_NAME " object required");
- goto done;
- }
/* check for the special case of zero length format spec, make
it equivalent to str(value) */
@@ -843,12 +839,8 @@
PyObject *tmp = NULL;
InternalFormatSpec format;
- if (!PyArg_ParseTuple(args, "O:__format__", &format_spec))
+ if (!PyArg_ParseTuple(args, STRINGLIB_PARSE_CODE ":__format__", &format_spec))
goto done;
- if (!STRINGLIB_CHECK(format_spec)) {
- PyErr_SetString(PyExc_TypeError, STRINGLIB_TYPE_NAME " object required");
- goto done;
- }
/* check for the special case of zero length format spec, make
it equivalent to str(value) */
@@ -917,12 +909,8 @@
PyObject *tmp = NULL;
InternalFormatSpec format;
- if (!PyArg_ParseTuple(args, "O:__format__", &format_spec))
+ if (!PyArg_ParseTuple(args, STRINGLIB_PARSE_CODE ":__format__", &format_spec))
goto done;
- if (!STRINGLIB_CHECK(format_spec)) {
- PyErr_SetString(PyExc_TypeError, STRINGLIB_TYPE_NAME " object required");
- goto done;
- }
/* check for the special case of zero length format spec, make
it equivalent to str(value) */