From 8b9755d55b2a1e6401c189fbadb19811ec977c4c Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 25 Feb 2014 15:19:41 +0300 Subject: [PATCH] returns: update all_return_states_hook() to stree Signed-off-by: Dan Carpenter --- check_dereferences_param.c | 4 ++-- check_frees_param.c | 4 ++-- smatch_local_values.c | 8 ++++---- smatch_returns.c | 6 +++--- smatch_slist.h | 3 +-- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/check_dereferences_param.c b/check_dereferences_param.c index 81627072..5254702d 100644 --- a/check_dereferences_param.c +++ b/check_dereferences_param.c @@ -99,7 +99,7 @@ static void set_param_dereferenced(struct expression *arg, char *unused) check_deref(arg); } -static void process_states(struct state_list *slist) +static void process_states(struct AVL *stree) { struct symbol *arg; int i; @@ -109,7 +109,7 @@ static void process_states(struct state_list *slist) i++; if (!arg->ident) continue; - if (get_state_slist(slist, my_id, arg->ident->name, arg) == &derefed) + if (get_state_stree(stree, my_id, arg->ident->name, arg) == &derefed) sql_insert_call_implies(DEREFERENCE, i, 1); } END_FOR_EACH_PTR(arg); } diff --git a/check_frees_param.c b/check_frees_param.c index 641390ac..f3c971db 100644 --- a/check_frees_param.c +++ b/check_frees_param.c @@ -95,7 +95,7 @@ static void set_param_freed(struct expression *arg, char *unused) freed_variable(arg); } -static void process_states(struct state_list *slist) +static void process_states(struct AVL *stree) { struct symbol *arg; int i; @@ -105,7 +105,7 @@ static void process_states(struct state_list *slist) i++; if (!arg->ident) continue; - if (get_state_slist(slist, my_id, arg->ident->name, arg) == &freed) + if (get_state_stree(stree, my_id, arg->ident->name, arg) == &freed) sql_insert_call_implies(PARAM_FREED, i, 1); } END_FOR_EACH_PTR(arg); } diff --git a/smatch_local_values.c b/smatch_local_values.c index 3381be15..cecc0a6c 100644 --- a/smatch_local_values.c +++ b/smatch_local_values.c @@ -104,16 +104,16 @@ static void extra_mod_hook(const char *name, struct symbol *sym, struct smatch_s set_state(my_id, name, sym, new); } -static void process_states(struct state_list *slist) +static void process_states(struct AVL *stree) { struct sm_state *sm; struct smatch_state *extra; struct range_list *rl; - FOR_EACH_PTR(slist, sm) { + FOR_EACH_SM(stree, sm) { if (sm->owner != my_id) continue; - extra = get_state_slist(slist, SMATCH_EXTRA, sm->name, sm->sym); + extra = get_state_stree(stree, SMATCH_EXTRA, sm->name, sm->sym); if (extra && estate_rl(extra)) rl = rl_intersection(estate_rl(sm->state), estate_rl(extra)); else @@ -123,7 +123,7 @@ static void process_states(struct state_list *slist) "insert into local_values values ('%s', '%s', '%s', %lu);", get_filename(), sm->name, show_rl(rl), (unsigned long)sm->sym); - } END_FOR_EACH_PTR(sm); + } END_FOR_EACH_SM(sm); } static int get_initial_value_sym(struct symbol *sym, char *name, sval_t *sval) diff --git a/smatch_returns.c b/smatch_returns.c index 8de8c893..b0d029db 100644 --- a/smatch_returns.c +++ b/smatch_returns.c @@ -21,7 +21,7 @@ static int my_id; struct return_states_callback { - void (*callback)(struct state_list *slist); + void (*callback)(struct AVL *stree); }; ALLOCATOR(return_states_callback, "return states callbacks"); DECLARE_PTR_LIST(callback_list, struct return_states_callback); @@ -30,7 +30,7 @@ static struct callback_list *callback_list; static struct AVL *all_return_states; static struct stree_stack *saved_stack; -void all_return_states_hook(void (*callback)(struct state_list *slist)) +void all_return_states_hook(void (*callback)(struct AVL *stree)) { struct return_states_callback *rs_cb = __alloc_return_states_callback(0); @@ -43,7 +43,7 @@ static void call_hooks() struct return_states_callback *rs_cb; FOR_EACH_PTR(callback_list, rs_cb) { - rs_cb->callback(stree_to_slist(all_return_states)); + rs_cb->callback(all_return_states); } END_FOR_EACH_PTR(rs_cb); } diff --git a/smatch_slist.h b/smatch_slist.h index 15b03805..a13fdbb9 100644 --- a/smatch_slist.h +++ b/smatch_slist.h @@ -123,8 +123,7 @@ void overwrite_stree(struct AVL *from, struct AVL **to); /* add stuff smatch_returns.c here */ -void all_return_states_hook(void (*callback)(struct state_list *slist)); -void all_return_states_hook_stree(void (*callback)(struct AVL *slist)); +void all_return_states_hook(void (*callback)(struct AVL *slist)); int get_slist_id(struct state_list *slist); int get_stree_id(struct AVL *slist); -- 2.11.4.GIT