Use 'S' format character for the optional constructor argument, so we
get a decent error message when it's not a string (instead of
confusing errors when trying to use the thing).
diff --git a/Modules/cStringIO.c b/Modules/cStringIO.c
index 2d7c940..494d895 100644
--- a/Modules/cStringIO.c
+++ b/Modules/cStringIO.c
@@ -565,7 +565,7 @@
IO_StringIO(PyObject *self, PyObject *args) {
PyObject *s=0;
- UNLESS(PyArg_ParseTuple(args, "|O", &s)) return NULL;
+ UNLESS(PyArg_ParseTuple(args, "|S", &s)) return NULL;
if(s) return newIobject(s);
return newOobject(128);
}