From 023f4bfe41de18fcbc12b06f2958e6eec6595078 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 21 Feb 2012 16:22:12 +0300 Subject: [PATCH] implied: use add_range() This changes how the code works slightly because the original code always added the new range to the end, instead of possibly adding it to the middle. Also I cleaned up the code a little by pulling it in one indent level. Signed-off-by: Dan Carpenter --- smatch_implied.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/smatch_implied.c b/smatch_implied.c index 1c8228f4..6785c3c9 100644 --- a/smatch_implied.c +++ b/smatch_implied.c @@ -517,7 +517,6 @@ struct state_list *__implied_case_slist(struct expression *switch_expr, struct state_list *false_states = NULL; struct state_list *ret = clone_slist(*raw_slist); long long val; - struct data_range *range; struct range_list *vals = NULL; name = get_variable_from_expr(switch_expr, &sym); @@ -527,13 +526,11 @@ struct state_list *__implied_case_slist(struct expression *switch_expr, if (!case_expr) { vals = top_range_list(*remaining_cases); } else { - if (!get_value(case_expr, &val)) { + if (!get_value(case_expr, &val)) goto free; - } else { - filter_top_range_list(remaining_cases, val); - range = alloc_range(val, val); - add_ptr_list(&vals, range); - } + + filter_top_range_list(remaining_cases, val); + add_range(&vals, val, val); } if (sm) separate_and_filter(sm, SPECIAL_EQUAL, vals, LEFT, *raw_slist, &true_states, &false_states); -- 2.11.4.GIT