diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/dbm/dbm.c | 4 | ||||
-rw-r--r-- | ext/sdbm/init.c | 4 |
3 files changed, 12 insertions, 4 deletions
@@ -1,3 +1,11 @@ +Sat Oct 26 04:27:35 2002 Akinori MUSHA <knu@iDaemons.org> + + * ext/dbm/dbm.c (fdbm_indexes, fdbm_select): add a missing + argument and prevent coredump when a nonexistent key is + specified. + + * ext/sdbm/init.c (fsdbm_indexes, fsdbm_select): ditto. + Sat Oct 26 03:28:43 2002 Akinori MUSHA <knu@iDaemons.org> * eval.c, gc.c: use a common set of alloca() #ifdef's. This fixes diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index f81f7efcb1..88c4233cae 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -221,7 +221,7 @@ fdbm_indexes(argc, argv, obj) new = rb_ary_new2(argc); for (i=0; i<argc; i++) { - rb_ary_push(new, fdbm_fetch(obj, argv[i])); + rb_ary_push(new, fdbm_fetch(obj, argv[i], Qnil)); } return new; @@ -259,7 +259,7 @@ fdbm_select(argc, argv, obj) } else { for (i=0; i<argc; i++) { - rb_ary_push(new, fdbm_fetch(obj, argv[i])); + rb_ary_push(new, fdbm_fetch(obj, argv[i], Qnil)); } } diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c index 280637aa23..99945d3a7d 100644 --- a/ext/sdbm/init.c +++ b/ext/sdbm/init.c @@ -209,7 +209,7 @@ fsdbm_indexes(argc, argv, obj) new = rb_ary_new2(argc); for (i=0; i<argc; i++) { - rb_ary_push(new, fsdbm_fetch(obj, argv[i])); + rb_ary_push(new, fsdbm_fetch(obj, argv[i], Qnil)); } return new; @@ -247,7 +247,7 @@ fsdbm_select(argc, argv, obj) } else { for (i=0; i<argc; i++) { - rb_ary_push(new, fsdbm_fetch(obj, argv[i])); + rb_ary_push(new, fsdbm_fetch(obj, argv[i], Qnil)); } } |