give TypeError when trying to set T_STRING_INPLACE
diff --git a/Python/structmember.c b/Python/structmember.c
index d2d8273..3b4a4d2 100644
--- a/Python/structmember.c
+++ b/Python/structmember.c
@@ -172,7 +172,7 @@
 
 	addr += l->offset;
 
-	if ((l->flags & READONLY) || l->type == T_STRING)
+	if ((l->flags & READONLY))
 	{
 		PyErr_SetString(PyExc_TypeError, "readonly attribute");
 		return -1;
@@ -329,6 +329,10 @@
 			return -1;
 		}
 		break;
+	case T_STRING:
+        case T_STRING_INPLACE:
+		PyErr_SetString(PyExc_TypeError, "readonly attribute");
+		return -1;
 #ifdef HAVE_LONG_LONG
 	case T_LONGLONG:{
 		PY_LONG_LONG value;