diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | hash.c | 14 |
2 files changed, 4 insertions, 12 deletions
@@ -10,6 +10,8 @@ Thu Aug 30 08:00:12 2007 Tanaka Akira <[email protected]> (RHASH_IFNONE): ditto. (RHASH_SIZE): ditto. (RHASH_EMPTY_P): ditto. + (hash_alloc0, hash_alloc): unified because hash_alloc doesn't + allocate st_table now. * hash.c: delay st_table allocation. @@ -203,7 +203,7 @@ rb_hash_foreach(VALUE hash, int (*func)(ANYARGS), VALUE farg) } static VALUE -hash_alloc0(VALUE klass) +hash_alloc(VALUE klass) { NEWOBJ(hash, struct RHash); OBJSETUP(hash, klass, T_HASH); @@ -213,16 +213,6 @@ hash_alloc0(VALUE klass) return (VALUE)hash; } -static VALUE -hash_alloc(VALUE klass) -{ - VALUE hash = hash_alloc0(klass); - - RHASH(hash)->ntbl = 0; - - return hash; -} - VALUE rb_hash_new(void) { @@ -329,7 +319,7 @@ rb_hash_s_create(int argc, VALUE *argv, VALUE klass) int i; if (argc == 1 && TYPE(argv[0]) == T_HASH) { - hash = hash_alloc0(klass); + hash = hash_alloc(klass); if (RHASH(argv[0])->ntbl) { RHASH(hash)->ntbl = st_copy(RHASH(argv[0])->ntbl); } |