* thread.c (rb_thread_key_p): should always convert symbol to ID.

[ruby-dev:34588]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2008-05-07 13:24:03 +00:00
Родитель 274c6471b8
Коммит 98ad274974
2 изменённых файлов: 9 добавлений и 2 удалений

Просмотреть файл

@ -4,6 +4,11 @@ Wed May 7 20:19:18 2008 NAKAMURA Usaku <usa@ruby-lang.org>
after Init_prelude() because cannot load encoding extensions before
it.
Wed May 7 19:35:29 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* thread.c (rb_thread_key_p): should always convert symbol to ID.
[ruby-dev:34588]
Wed May 7 19:30:34 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* numeric.c (fix_divide): float division should floor() before

Просмотреть файл

@ -1557,15 +1557,17 @@ rb_thread_aset(VALUE self, ID id, VALUE val)
*/
static VALUE
rb_thread_key_p(VALUE self, ID id)
rb_thread_key_p(VALUE self, VALUE key)
{
rb_thread_t *th;
ID id = rb_to_id(key);
GetThreadPtr(self, th);
if (!th->local_storage) {
return Qfalse;
}
if (st_lookup(th->local_storage, rb_to_id(id), 0)) {
if (st_lookup(th->local_storage, key, 0)) {
return Qtrue;
}
return Qfalse;