This reverts r63675 based on the discussion in this thread:

 http://mail.python.org/pipermail/python-dev/2008-June/079988.html

Python 2.6 should stick with PyString_* in its codebase.  The PyBytes_* names
in the spirit of 3.0 are available via a #define only.  See the email thread.
diff --git a/Python/structmember.c b/Python/structmember.c
index 5ebe283..d230590 100644
--- a/Python/structmember.c
+++ b/Python/structmember.c
@@ -16,7 +16,7 @@
 	if (v != NULL) {
 		for (i = 0; i < n; i++)
 			PyList_SetItem(v, i,
-				       PyBytes_FromString(mlist[i].name));
+				       PyString_FromString(mlist[i].name));
 		if (PyErr_Occurred()) {
 			Py_DECREF(v);
 			v = NULL;
@@ -103,13 +103,13 @@
 			v = Py_None;
 		}
 		else
-			v = PyBytes_FromString(*(char**)addr);
+			v = PyString_FromString(*(char**)addr);
 		break;
 	case T_STRING_INPLACE:
-		v = PyBytes_FromString((char*)addr);
+		v = PyString_FromString((char*)addr);
 		break;
 	case T_CHAR:
-		v = PyBytes_FromStringAndSize((char*)addr, 1);
+		v = PyString_FromStringAndSize((char*)addr, 1);
 		break;
 	case T_OBJECT:
 		v = *(PyObject **)addr;
@@ -310,8 +310,8 @@
 		Py_XDECREF(oldv);
 		break;
 	case T_CHAR:
-		if (PyBytes_Check(v) && PyBytes_Size(v) == 1) {
-			*(char*)addr = PyBytes_AsString(v)[0];
+		if (PyString_Check(v) && PyString_Size(v) == 1) {
+			*(char*)addr = PyString_AsString(v)[0];
 		}
 		else {
 			PyErr_BadArgument();