diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | string.c | 1 | ||||
-rw-r--r-- | thread.c | 8 |
3 files changed, 8 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Thu May 8 06:27:33 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (rb_thread_key_p): thread local storage stores ID. + Thu May 8 01:10:03 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * string.c (tr_trans): should squeeze properly. [ruby-dev:34587] @@ -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); @@ -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; |