diff options
author | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-02-10 08:44:05 +0000 |
---|---|---|
committer | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-02-10 08:44:05 +0000 |
commit | 36f3603cae6536e571220721e916b8d284cf0675 (patch) | |
tree | eb9605811483000f6980263aa163b4f627ab1c3f /ext/dbm/dbm.c | |
parent | fd1d8cdc09ed86e4a0812120a17ff0d7b04adcaf (diff) |
This commit was manufactured by cvs2svn to create tag 'v1_1b7'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_1b7@70 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/dbm/dbm.c')
-rw-r--r-- | ext/dbm/dbm.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index b416802241..2941877dd6 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -122,19 +122,19 @@ fdbm_fetch(obj, keystr) } static VALUE -fdbm_indexes(obj, ag) - VALUE obj, ag; +fdbm_indexes(argc, argv, obj) + int argc; + VALUE *argv; + VALUE obj; { - VALUE *p, *pend; VALUE new; - int i = 0; - struct RArray *args = RARRAY(rb_Array(ag)); + int i; - new = ary_new2(args->len); - p = args->ptr; pend = p + args->len; - while (p < pend) { - ary_push(new, fdbm_fetch(obj, *p++)); + new = ary_new2(argc); + for (i=0; i<argc; i++) { + ary_push(new, fdbm_fetch(obj, argv[i])); } + return new; } @@ -489,7 +489,8 @@ Init_dbm() rb_define_method(cDBM, "close", fdbm_close, 0); rb_define_method(cDBM, "[]", fdbm_fetch, 1); rb_define_method(cDBM, "[]=", fdbm_store, 2); - rb_define_method(cDBM, "indexes", fdbm_indexes, -2); + rb_define_method(cDBM, "indexes", fdbm_indexes, -1); + rb_define_method(cDBM, "indices", fdbm_indexes, -1); rb_define_method(cDBM, "length", fdbm_length, 0); rb_define_alias(cDBM, "size", "length"); rb_define_method(cDBM, "empty?", fdbm_empty_p, 0); |