mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* hash.c (hash_alloc0, hash_alloc): unified because hash_alloc doesn't
allocate st_table now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1591776d46
commit
2b18d1ee8e
2 changed files with 4 additions and 12 deletions
|
@ -10,6 +10,8 @@ Thu Aug 30 08:00:12 2007 Tanaka Akira <akr@fsij.org>
|
|||
(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.
|
||||
|
||||
|
|
14
hash.c
14
hash.c
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue