diff options
Diffstat (limited to 'string-list.c')
| -rw-r--r-- | string-list.c | 21 | 
1 files changed, 10 insertions, 11 deletions
diff --git a/string-list.c b/string-list.c index aabb25ef4c..2a32a3f1f5 100644 --- a/string-list.c +++ b/string-list.c @@ -1,6 +1,12 @@  #include "cache.h"  #include "string-list.h" +void string_list_init(struct string_list *list, int strdup_strings) +{ +	memset(list, 0, sizeof(*list)); +	list->strdup_strings = strdup_strings; +} +  /* if there is no exact match, point to the index where the entry could be   * inserted */  static int get_entry_index(const struct string_list *list, const char *string, @@ -37,8 +43,7 @@ static int add_entry(int insert_at, struct string_list *list, const char *string  	if (list->nr + 1 >= list->alloc) {  		list->alloc += 32; -		list->items = xrealloc(list->items, list->alloc -				* sizeof(struct string_list_item)); +		REALLOC_ARRAY(list->items, list->alloc);  	}  	if (index < list->nr)  		memmove(list->items + index + 1, list->items + index, @@ -54,13 +59,7 @@ static int add_entry(int insert_at, struct string_list *list, const char *string  struct string_list_item *string_list_insert(struct string_list *list, const char *string)  { -	return string_list_insert_at_index(list, -1, string); -} - -struct string_list_item *string_list_insert_at_index(struct string_list *list, -						     int insert_at, const char *string) -{ -	int index = add_entry(insert_at, list, string); +	int index = add_entry(-1, list, string);  	if (index < 0)  		index = -1 - index; @@ -215,7 +214,7 @@ struct string_list_item *string_list_append(struct string_list *list,  /* Yuck */  static compare_strings_fn compare_for_qsort; -/* Only call this from inside sort_string_list! */ +/* Only call this from inside string_list_sort! */  static int cmp_items(const void *a, const void *b)  {  	const struct string_list_item *one = a; @@ -223,7 +222,7 @@ static int cmp_items(const void *a, const void *b)  	return compare_for_qsort(one->string, two->string);  } -void sort_string_list(struct string_list *list) +void string_list_sort(struct string_list *list)  {  	compare_for_qsort = list->cmp ? list->cmp : strcmp;  	qsort(list->items, list->nr, sizeof(*list->items), cmp_items);  | 
