]> granicus.if.org Git - python/commitdiff
Only __dict__ and __class__ are read-only instance attributes
authorGuido van Rossum <guido@python.org>
Sun, 21 Jul 1996 02:29:46 +0000 (02:29 +0000)
committerGuido van Rossum <guido@python.org>
Sun, 21 Jul 1996 02:29:46 +0000 (02:29 +0000)
Objects/classobject.c

index f5a0d2a36ca469e8a7c76779b18c0ffe2c2e1106..27f1f26858fbbbbd209891ff03c86dbb957973b9 100644 (file)
@@ -494,8 +494,10 @@ instance_setattr(inst, name, v)
        object *v;
 {
        object *func, *args, *res;
-       if (name[0] == '_' && name[1] == '_') {
-               int n = strlen(name);
+       if (name[0] == '_' && name[1] == '_'
+           && (strcmp(name, "__dict__") == 0 ||
+               strcmp(name, "__class__") == 0)) {
+               int n = strlen(name);
                if (name[n-1] == '_' && name[n-2] == '_') {
                        err_setstr(TypeError, "read-only special attribute");
                        return -1;