From: "ibc (Iñaki Baz Castillo)" Date: 2012-06-08T06:33:02+09:00 Subject: [ruby-core:45491] [ruby-trunk - Feature #6557] Make rb_hash_clear() public Issue #6557 has been updated by ibc (I��aki Baz Castillo). Well, I have a C extension (a reactor based on libuv) in which I would like to perform the "loop release" within a single C function (to avoid some steps of the function to be interrupted by an exception or whatever). In such a "release" function I must clear some Ruby arrays and hashes. Note that rb_ary_clear() is public. PS: BTW, I don't receive mails when somebody comments or updates an issue reported by me, is it normal? I use Redmine so I'm sure I've properly configured my account in this Redmine. Thanks a lot. ---------------------------------------- Feature #6557: Make rb_hash_clear() public https://bugs.ruby-lang.org/issues/6557#change-27079 Author: ibc (I��aki Baz Castillo) Status: Feedback Priority: Normal Assignee: Category: core Target version: 1.9.3 Any reason for rb_hash_clear() not to be public C API?:
static VALUE
rb_hash_clear(VALUE hash)
{
    rb_hash_modify_check(hash);
    if (!RHASH(hash)->ntbl)
        return hash;
    if (RHASH(hash)->ntbl->num_entries > 0) {
        if (RHASH(hash)->iter_lev > 0)
            rb_hash_foreach(hash, clear_i, 0);
        else
            st_clear(RHASH(hash)->ntbl);
    }

    return hash;
}
-- http://bugs.ruby-lang.org/