Print this page
11506 smatch resync
@@ -18,41 +18,46 @@
#include "smatch.h"
int list_has_string(struct string_list *str_list, const char *str)
{
char *tmp;
+ int cmp;
if (!str)
return 0;
FOR_EACH_PTR(str_list, tmp) {
- if (strcmp(tmp, str) < 0)
+ cmp = strcmp(tmp, str);
+ if (cmp < 0)
continue;
- if (strcmp(tmp, str) == 0)
+ if (cmp == 0)
return 1;
return 0;
} END_FOR_EACH_PTR(tmp);
return 0;
}
-void insert_string(struct string_list **str_list, const char *_new)
+int insert_string(struct string_list **str_list, const char *_new)
{
char *new = (char *)_new;
char *tmp;
+ int cmp;
FOR_EACH_PTR(*str_list, tmp) {
- if (strcmp(tmp, new) < 0)
+ cmp = strcmp(tmp, new);
+ if (cmp < 0)
continue;
- else if (strcmp(tmp, new) == 0) {
- return;
+ else if (cmp == 0) {
+ return 0;
} else {
INSERT_CURRENT(alloc_string(new), tmp);
- return;
+ return 1;
}
} END_FOR_EACH_PTR(tmp);
new = alloc_string(new);
add_ptr_list(str_list, new);
+ return 1;
}
struct string_list *clone_str_list(struct string_list *orig)
{
char *tmp;