summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-07 22:07:05 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-11-07 22:07:05 +0000
commitc82769f2277a8b06ea6a104ab4e7e7c8043d658a (patch)
tree8507f1c371bc65d90da52feb0bb437e0719e0356
parent80d16e7403e64c5ba19b83046b3530aeaf4ed62b (diff)
* ext/dbm/dbm.c (fdbm_index): make #index warn like Hash.
* ext/dbm/dbm.c (fdbm_key): new method. * ext/sdbm/init.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--ext/dbm/dbm.c10
-rw-r--r--ext/sdbm/init.c10
-rw-r--r--test/dbm/test_dbm.rb12
4 files changed, 32 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index ff20aaf27c..0be876c85a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sat Nov 8 06:51:42 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/dbm/dbm.c (fdbm_index): make #index warn like Hash.
+
+ * ext/dbm/dbm.c (fdbm_key): new method.
+
+ * ext/sdbm/init.c: ditto.
+
Sat Nov 8 06:20:42 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* ext/curses/curses.c: curses encoding should obey locale.
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c
index 47975cffc2..7a78f8dad0 100644
--- a/ext/dbm/dbm.c
+++ b/ext/dbm/dbm.c
@@ -198,7 +198,7 @@ fdbm_fetch_m(int argc, VALUE *argv, VALUE obj)
}
static VALUE
-fdbm_index(VALUE obj, VALUE valstr)
+fdbm_key(VALUE obj, VALUE valstr)
{
datum key, val;
struct dbmdata *dbmp;
@@ -220,6 +220,13 @@ fdbm_index(VALUE obj, VALUE valstr)
}
static VALUE
+fdbm_index(VALUE hash, VALUE value)
+{
+ rb_warn("DBM#index is deprecated; use DBM#key");
+ return fdbm_key(hash, value);
+}
+
+static VALUE
fdbm_select(VALUE obj)
{
VALUE new = rb_ary_new();
@@ -692,6 +699,7 @@ Init_dbm(void)
rb_define_method(rb_cDBM, "[]=", fdbm_store, 2);
rb_define_method(rb_cDBM, "store", fdbm_store, 2);
rb_define_method(rb_cDBM, "index", fdbm_index, 1);
+ rb_define_method(rb_cDBM, "key", fdbm_key, 1);
rb_define_method(rb_cDBM, "select", fdbm_select, 0);
rb_define_method(rb_cDBM, "values_at", fdbm_values_at, -1);
rb_define_method(rb_cDBM, "length", fdbm_length, 0);
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);
diff --git a/test/dbm/test_dbm.rb b/test/dbm/test_dbm.rb
index 546e969e58..5cf8acb68c 100644
--- a/test/dbm/test_dbm.rb
+++ b/test/dbm/test_dbm.rb
@@ -160,9 +160,9 @@ if defined? DBM
}
end
- def test_index
+ def test_key
assert_equal('bar', @dbm['foo'] = 'bar')
- assert_equal('foo', @dbm.index('bar'))
+ assert_equal('foo', @dbm.key('bar'))
assert_nil(@dbm['bar'])
end
@@ -217,7 +217,7 @@ if defined? DBM
n = 0
ret = @dbm.each_pair {|key, val|
- assert_not_nil(i = keys.index(key))
+ assert_not_nil(i = keys.key(key))
assert_equal(val, values[i])
n += 1
@@ -238,8 +238,8 @@ if defined? DBM
n = 0
ret = @dbm.each_value {|val|
- assert_not_nil(key = @dbm.index(val))
- assert_not_nil(i = keys.index(key))
+ assert_not_nil(key = @dbm.key(val))
+ assert_not_nil(i = keys.key(key))
assert_equal(val, values[i])
n += 1
@@ -260,7 +260,7 @@ if defined? DBM
n = 0
ret = @dbm.each_key {|key|
- assert_not_nil(i = keys.index(key))
+ assert_not_nil(i = keys.key(key))
assert_equal(@dbm[key], values[i])
n += 1