This commit is contained in:
Peter Zhu 2023-09-24 09:07:34 -04:00
Родитель 34d802f32f
Коммит 36cdf163df
1 изменённых файлов: 8 добавлений и 2 удалений

10
hash.c
Просмотреть файл

@ -1160,7 +1160,7 @@ ar_clear(VALUE hash)
}
static void
hash_st_free_and_clear_table(VALUE hash)
hash_st_free(VALUE hash)
{
HASH_ASSERT(RHASH_ST_TABLE_P(hash));
@ -1168,6 +1168,12 @@ hash_st_free_and_clear_table(VALUE hash)
free(tab->bins);
free(tab->entries);
}
static void
hash_st_free_and_clear_table(VALUE hash)
{
hash_st_free(hash);
RHASH_ST_CLEAR(hash);
}
@ -1974,7 +1980,7 @@ rb_hash_rehash(VALUE hash)
rb_hash_foreach(hash, rb_hash_rehash_i, (VALUE)tmp);
hash_st_free_and_clear_table(hash);
hash_st_free(hash);
RHASH_ST_TABLE_SET(hash, tbl);
RHASH_ST_CLEAR(tmp);
}