From 313cbf7948d1c875cc8f113b8d2e00b88812fd89 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Mon, 10 Jun 2013 14:21:46 +0300 Subject: [PATCH] states: introduce __set_fake_cur_slist() The way I will use this is: __set_fake_cur_slist(get_start_states()); /* work work work */ __free_fake_cur_slist(); Signed-off-by: Dan Carpenter --- smatch.h | 1 + smatch_states.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/smatch.h b/smatch.h index fdc1cf39..8470c576 100644 --- a/smatch.h +++ b/smatch.h @@ -393,6 +393,7 @@ int get_local_min_helper(struct expression *expr, sval_t *sval); /* smatch_states.c */ void __push_fake_cur_slist(); +void __set_fake_cur_slist(struct state_list *slist); struct state_list *__pop_fake_cur_slist(); void __free_fake_cur_slist(); void __merge_slist_into_cur(struct state_list *slist); diff --git a/smatch_states.c b/smatch_states.c index b3793851..a28ec557 100644 --- a/smatch_states.c +++ b/smatch_states.c @@ -154,6 +154,13 @@ void __push_fake_cur_slist() __save_pre_cond_states(); } +void __set_fake_cur_slist(struct state_list *slist) +{ + push_slist(&fake_cur_slist_stack, NULL); + __save_pre_cond_states(); + cur_slist = clone_slist(slist); +} + struct state_list *__pop_fake_cur_slist() { __use_pre_cond_states(); -- 2.11.4.GIT