diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-30 22:47:33 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-30 22:47:33 +0000 |
commit | d0380e2e567d9ffa1423c8b6fda3470f11b753c3 (patch) | |
tree | 4fc20fae5a3155f37fd3ac73dd627317bc9c113e | |
parent | 4fa32366008a81c8ea398ce36e53f23f659530c2 (diff) |
* hash.c (st_foreach_safe): since table is not for VALUE, Qundef is
not special value, so use 0 instead. therefore this function can be
applied to only st_table which 0 is invalid as keys, e.g., IDs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | hash.c | 2 |
2 files changed, 6 insertions, 2 deletions
@@ -1,4 +1,8 @@ -Sat Mar 31 07:44:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> +Sat Mar 31 07:47:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (st_foreach_safe): since table is not for VALUE, Qundef is + not special value, so use 0 instead. therefore this function can be + applied to only st_table which 0 is invalid as keys, e.g., IDs. * hash.c: Qundef cannot be passed from st_foreach_check(). @@ -131,7 +131,7 @@ st_foreach_safe(st_table *table, int (*func)(ANYARGS), st_data_t a) arg.tbl = table; arg.func = (st_foreach_func *)func; arg.arg = a; - if (st_foreach_check(table, foreach_safe_i, (st_data_t)&arg, (st_data_t)Qundef)) { + if (st_foreach_check(table, foreach_safe_i, (st_data_t)&arg, 0)) { rb_raise(rb_eRuntimeError, "hash modified during iteration"); } } |