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 /hash.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 'hash.c')
| -rw-r--r-- | hash.c | 29 |
1 files changed, 2 insertions, 27 deletions
@@ -23,39 +23,17 @@ char *strchr _((char*,char)); char* strdup(const char*); #endif -#define HASH_FREEZE FL_USER1 -#define HASH_DELETED FL_USER2 +#define HASH_DELETED FL_USER1 static void rb_hash_modify(hash) VALUE hash; { - if (FL_TEST(hash, HASH_FREEZE)) - rb_raise(rb_eTypeError, "can't modify frozen hash"); + if (OBJ_FROZEN(hash)) rb_error_frozen("hash"); if (!OBJ_TAINTED(hash) && rb_safe_level() >= 4) rb_raise(rb_eSecurityError, "Insecure: can't modify hash"); } -VALUE -rb_hash_freeze(hash) - VALUE hash; -{ - if (rb_safe_level() >= 4 && !OBJ_TAINTED(hash)) - rb_raise(rb_eSecurityError, "Insecure: can't freeze hash"); - - FL_SET(hash, HASH_FREEZE); - return hash; -} - -static VALUE -rb_hash_frozen_p(hash) - VALUE hash; -{ - if (FL_TEST(hash, HASH_FREEZE)) - return Qtrue; - return Qfalse; -} - VALUE rb_cHash; static VALUE envtbl; @@ -1387,9 +1365,6 @@ Init_Hash() rb_define_method(rb_cHash,"dup", rb_hash_dup, 0); rb_define_method(rb_cHash,"rehash", rb_hash_rehash, 0); - rb_define_method(rb_cHash,"freeze", rb_hash_freeze, 0); - rb_define_method(rb_cHash,"frozen?",rb_hash_frozen_p, 0); - rb_define_method(rb_cHash,"to_hash", rb_hash_to_hash, 0); rb_define_method(rb_cHash,"to_a", rb_hash_to_a, 0); rb_define_method(rb_cHash,"to_s", rb_hash_to_s, 0); |
