From be6380fd22684b6db92af4c0674e3e7a965fb52a Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Mon, 25 Mar 2013 21:45:43 +0300 Subject: [PATCH] string_list: introduce list_has_string() Return true if a the string is in the list otherwise it returns false. Signed-off-by: Dan Carpenter --- smatch.h | 1 + smatch_string_list.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/smatch.h b/smatch.h index bcd80f23..d60b58a2 100644 --- a/smatch.h +++ b/smatch.h @@ -631,6 +631,7 @@ const char *sval_to_numstr(sval_t sval); sval_t ll_to_sval(long long val); /* smatch_string_list.c */ +int list_has_string(struct string_list *str_list, char *str); void insert_string(struct string_list **str_list, char *str); struct string_list *clone_str_list(struct string_list *orig); struct string_list *combine_string_lists(struct string_list *one, struct string_list *two); diff --git a/smatch_string_list.c b/smatch_string_list.c index 4f78b13e..f3854de7 100644 --- a/smatch_string_list.c +++ b/smatch_string_list.c @@ -9,6 +9,20 @@ #include "smatch.h" +int list_has_string(struct string_list *str_list, char *str) +{ + char *tmp; + + FOR_EACH_PTR(str_list, tmp) { + if (strcmp(tmp, str) < 0) + continue; + if (strcmp(tmp, str) == 0) + return 1; + return 0; + } END_FOR_EACH_PTR(tmp); + return 0; +} + void insert_string(struct string_list **str_list, char *new) { char *tmp; -- 2.11.4.GIT