From 86afcfe4021d3ee7a9d290f2b351ae9e7aa52021 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 7 May 2008 21:27:34 +0000 Subject: [PATCH] * thread.c (rb_thread_key_p): thread local storage stores ID. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ string.c | 1 - thread.c | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index dd700e5af7..9912afe81e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu May 8 06:27:33 2008 Nobuyoshi Nakada + + * thread.c (rb_thread_key_p): thread local storage stores ID. + Thu May 8 01:10:03 2008 Yukihiro Matsumoto * string.c (tr_trans): should squeeze properly. [ruby-dev:34587] diff --git a/string.c b/string.c index 703a88e281..8d4910291f 100644 --- a/string.c +++ b/string.c @@ -4368,7 +4368,6 @@ tr_trans(VALUE str, VALUE src, VALUE repl, int sflag) int clen, tlen, max = RSTRING_LEN(str) * 1.2; int offset; char *buf = ALLOC_N(char, max), *t = buf; - VALUE v; while (s < send) { c0 = c = rb_enc_codepoint(s, send, enc); diff --git a/thread.c b/thread.c index 79c47b0f10..ff85e0f04c 100644 --- a/thread.c +++ b/thread.c @@ -70,9 +70,9 @@ static VALUE eTerminateSignal = INT2FIX(1); static volatile int system_working = 1; inline static void -st_delete_wrap(st_table * table, VALUE key) +st_delete_wrap(st_table *table, st_data_t key) { - st_delete(table, (st_data_t *) & key, 0); + st_delete(table, &key, 0); } /********************************************************************************/ @@ -1522,7 +1522,7 @@ rb_thread_local_aset(VALUE thread, ID id, VALUE val) th->local_storage = st_init_numtable(); } if (NIL_P(val)) { - st_delete(th->local_storage, (st_data_t *) & id, 0); + st_delete_wrap(th->local_storage, id); return Qnil; } st_insert(th->local_storage, id, val); @@ -1567,7 +1567,7 @@ rb_thread_key_p(VALUE self, VALUE key) if (!th->local_storage) { return Qfalse; } - if (st_lookup(th->local_storage, key, 0)) { + if (st_lookup(th->local_storage, id, 0)) { return Qtrue; } return Qfalse;