diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-02-01 03:12:21 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-02-01 03:12:21 +0000 |
commit | b77b7c30d4855734384a095db41a734d315bb8fa (patch) | |
tree | ae6cd78921bf626d54145b5485474bf59c3dceb4 /struct.c | |
parent | ff338e4e581cc264abf4c5bfd3501bb77c16335f (diff) | |
download | ruby-b77b7c30d4855734384a095db41a734d315bb8fa.tar.gz ruby-b77b7c30d4855734384a095db41a734d315bb8fa.tar.xz ruby-b77b7c30d4855734384a095db41a734d315bb8fa.zip |
2000-02-01
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'struct.c')
-rw-r--r-- | struct.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -474,6 +474,7 @@ rb_struct_aset_id(s, id, val) rb_bug("non-initialized struct"); } + if (OBJ_FROZEN(s)) rb_error_frozen("Struct"); len = RARRAY(member)->len; for (i=0; i<len; i++) { if (FIX2UINT(RARRAY(member)->ptr[i]) == id) { @@ -502,6 +503,7 @@ rb_struct_aset(s, idx, val) if (RSTRUCT(s)->len <= i) rb_raise(rb_eIndexError, "offset %d too large for struct(size:%d)", i, RSTRUCT(s)->len); + if (OBJ_FROZEN(s)) rb_error_frozen("Struct"); return RSTRUCT(s)->ptr[i] = val; } |