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.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c
index ecedd6318a..b697ca7380 100644
--- a/ext/sdbm/init.c
+++ b/ext/sdbm/init.c
@@ -176,7 +176,7 @@ fsdbm_fetch_m(int argc, VALUE *argv, VALUE obj)
}
static VALUE
-fsdbm_index(VALUE obj, VALUE valstr)
+fsdbm_key(VALUE obj, VALUE valstr)
{
datum key, val;
struct dbmdata *dbmp;
@@ -197,6 +197,13 @@ fsdbm_index(VALUE obj, VALUE valstr)
}
static VALUE
+fsdbm_index(VALUE hash, VALUE value)
+{
+ rb_warn("SDBM#index is deprecated; use SDBM#key");
+ return fsdbm_key(hash, value);
+}
+
+static VALUE
fsdbm_select(VALUE obj)
{
VALUE new = rb_ary_new();
@@ -671,6 +678,7 @@ Init_sdbm()
rb_define_method(rb_cDBM, "[]=", fsdbm_store, 2);
rb_define_method(rb_cDBM, "store", fsdbm_store, 2);
rb_define_method(rb_cDBM, "index", fsdbm_index, 1);
+ rb_define_method(rb_cDBM, "index", fsdbm_key, 1);
rb_define_method(rb_cDBM, "select", fsdbm_select, 0);
rb_define_method(rb_cDBM, "values_at", fsdbm_values_at, -1);
rb_define_method(rb_cDBM, "length", fsdbm_length, 0);