diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-26 10:29:13 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-26 10:29:13 +0000 |
commit | 19d0242ed7171e1701fbc1653c684ca50fe2881f (patch) | |
tree | a11cca636df70c1d8f81b92553d62b419e9fe4ad | |
parent | 0463823f8f6b87913acb685e1bd335907cd6a541 (diff) | |
download | ruby-19d0242ed7171e1701fbc1653c684ca50fe2881f.tar.gz ruby-19d0242ed7171e1701fbc1653c684ca50fe2881f.tar.xz ruby-19d0242ed7171e1701fbc1653c684ca50fe2881f.zip |
* hash.c (hash_foreach_iter): fix for prototype.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | hash.c | 8 |
2 files changed, 8 insertions, 4 deletions
@@ -1,3 +1,7 @@ +Thu Feb 26 19:29:10 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (hash_foreach_iter): fix for prototype. + Thu Feb 26 18:36:09 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * common.mk (INSNS, newline.c, miniprelude.c, prelude.c), @@ -152,20 +152,20 @@ struct hash_foreach_arg { }; static int -hash_foreach_iter(VALUE key, VALUE value, struct hash_foreach_arg *arg) +hash_foreach_iter(st_data_t key, st_data_t value, struct hash_foreach_arg *arg) { int status; st_table *tbl; tbl = RHASH(arg->hash)->ntbl; - if (key == Qundef) return ST_CONTINUE; - status = (*arg->func)(key, value, arg->arg); + if ((VALUE)key == Qundef) return ST_CONTINUE; + status = (*arg->func)((VALUE)key, (VALUE)value, arg->arg); if (RHASH(arg->hash)->ntbl != tbl) { rb_raise(rb_eRuntimeError, "rehash occurred during iteration"); } switch (status) { case ST_DELETE: - st_delete_safe(tbl, (st_data_t*)&key, 0, Qundef); + st_delete_safe(tbl, &key, 0, Qundef); FL_SET(arg->hash, HASH_DELETED); case ST_CONTINUE: break; |