diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-08-30 07:20:05 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-08-30 07:20:05 +0000 |
commit | d90b02360391a2e87dac58329316a87032ae6e70 (patch) | |
tree | ccd85b3a67ff25b21815042210e8f4054adc4d4e /vm_trace.c | |
parent | d7ca01a73ad5287f9d063bbdf5b35f472affda9d (diff) |
vm_trace.c: warning
* vm_trace.c (exec_hooks): supress clobbered warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_trace.c')
-rw-r--r-- | vm_trace.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/vm_trace.c b/vm_trace.c index 16317bdc19..666d3d55e0 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -280,7 +280,6 @@ clean_hooks(rb_hook_list_t *list) static int exec_hooks(rb_thread_t *th, rb_hook_list_t *list, const rb_trace_arg_t *trace_arg) { - rb_event_hook_t *hook; int state; volatile int raised; @@ -290,13 +289,13 @@ exec_hooks(rb_thread_t *th, rb_hook_list_t *list, const rb_trace_arg_t *trace_ar raised = rb_threadptr_reset_raised(th); - hook = list->hooks; - /* TODO: Support !RUBY_HOOK_FLAG_SAFE hooks */ TH_PUSH_TAG(th); if ((state = TH_EXEC_TAG()) == 0) { - while (hook) { + rb_event_hook_t *hook; + + for (hook = list->hooks; hook; hook = hook->next) { if (LIKELY(!(hook->hook_flags & RUBY_HOOK_FLAG_DELETED)) && (trace_arg->event & hook->events)) { if (!(hook->hook_flags & RUBY_HOOK_FLAG_RAW_ARG)) { (*hook->func)(trace_arg->event, hook->data, trace_arg->self, trace_arg->id, trace_arg->klass); @@ -305,7 +304,6 @@ exec_hooks(rb_thread_t *th, rb_hook_list_t *list, const rb_trace_arg_t *trace_ar (*((rb_event_hook_raw_arg_func_t)hook->func))(hook->data, trace_arg); } } - hook = hook->next; } } TH_POP_TAG(); |