diff Python/structmember.c @ 60210:66b60a6e8198 2.6

Merged revisions 79642,79644 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r79642 | benjamin.peterson | 2010-04-02 20:08:34 -0500 (Fri, 02 Apr 2010) | 1 line split out large test function ........ r79644 | benjamin.peterson | 2010-04-02 20:28:57 -0500 (Fri, 02 Apr 2010) | 1 line give TypeError when trying to set T_STRING_INPLACE ........
author Benjamin Peterson <benjamin@python.org>
date Sat, 03 Apr 2010 01:40:44 +0000
parents 96a2371b114b
children b69dcf63502c
line wrap: on
line diff
--- a/Python/structmember.c	Fri Apr 02 22:13:35 2010 +0000
+++ b/Python/structmember.c	Sat Apr 03 01:40:44 2010 +0000
@@ -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;
@@ -328,6 +328,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;