summaryrefslogtreecommitdiff
path: root/ext/sdbm/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sdbm/init.c')
-rw-r--r--ext/sdbm/init.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c
index f3e215e8d6..9311a7237d 100644
--- a/ext/sdbm/init.c
+++ b/ext/sdbm/init.c
@@ -406,13 +406,6 @@ fsdbm_invert(obj)
static VALUE each_pair _((VALUE));
-static VALUE
-each_pair(obj)
- VALUE obj;
-{
- return rb_funcall(obj, rb_intern("each_pair"), 0, 0);
-}
-
static VALUE fsdbm_store _((VALUE,VALUE,VALUE));
static VALUE
@@ -431,7 +424,7 @@ static VALUE
fsdbm_update(obj, other)
VALUE obj, other;
{
- rb_iterate(each_pair, other, update_i, obj);
+ rb_block_call(other, rb_intern("each_pair"), 0, 0, update_i, obj);
return obj;
}
@@ -440,7 +433,7 @@ fsdbm_replace(obj, other)
VALUE obj, other;
{
fsdbm_clear(obj);
- rb_iterate(each_pair, other, update_i, obj);
+ rb_block_call(other, rb_intern("each_pair"), 0, 0, update_i, obj);
return obj;
}