Skip to content

Commit 12b9f08

Browse files
committed
Merge branch 'sb/string-list'
API simplification. * sb/string-list: string_list: remove string_list_insert_at_index() from its API mailmap: use higher level string list functions string_list: document string_list_(insert,lookup)
2 parents 53c3692 + f8c4ab6 commit 12b9f08

3 files changed

Lines changed: 18 additions & 22 deletions

File tree

mailmap.c

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -71,31 +71,26 @@ static void add_mapping(struct string_list *map,
7171
char *old_name, char *old_email)
7272
{
7373
struct mailmap_entry *me;
74-
int index;
74+
struct string_list_item *item;
7575

7676
if (old_email == NULL) {
7777
old_email = new_email;
7878
new_email = NULL;
7979
}
8080

81-
if ((index = string_list_find_insert_index(map, old_email, 1)) < 0) {
82-
/* mailmap entry exists, invert index value */
83-
index = -1 - index;
84-
me = (struct mailmap_entry *)map->items[index].util;
81+
item = string_list_insert(map, old_email);
82+
if (item->util) {
83+
me = (struct mailmap_entry *)item->util;
8584
} else {
86-
/* create mailmap entry */
87-
struct string_list_item *item;
88-
89-
item = string_list_insert_at_index(map, index, old_email);
9085
me = xcalloc(1, sizeof(struct mailmap_entry));
9186
me->namemap.strdup_strings = 1;
9287
me->namemap.cmp = namemap_cmp;
9388
item->util = me;
9489
}
9590

9691
if (old_name == NULL) {
97-
debug_mm("mailmap: adding (simple) entry for %s at index %d\n",
98-
old_email, index);
92+
debug_mm("mailmap: adding (simple) entry for '%s'\n", old_email);
93+
9994
/* Replace current name and new email for simple entry */
10095
if (new_name) {
10196
free(me->name);
@@ -107,8 +102,7 @@ static void add_mapping(struct string_list *map,
107102
}
108103
} else {
109104
struct mailmap_info *mi = xcalloc(1, sizeof(struct mailmap_info));
110-
debug_mm("mailmap: adding (complex) entry for %s at index %d\n",
111-
old_email, index);
105+
debug_mm("mailmap: adding (complex) entry for '%s'\n", old_email);
112106
if (new_name)
113107
mi->name = xstrdup(new_name);
114108
if (new_email)

string-list.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,7 @@ static int add_entry(int insert_at, struct string_list *list, const char *string
5959

6060
struct string_list_item *string_list_insert(struct string_list *list, const char *string)
6161
{
62-
return string_list_insert_at_index(list, -1, string);
63-
}
64-
65-
struct string_list_item *string_list_insert_at_index(struct string_list *list,
66-
int insert_at, const char *string)
67-
{
68-
int index = add_entry(insert_at, list, string);
62+
int index = add_entry(-1, list, string);
6963

7064
if (index < 0)
7165
index = -1 - index;

string-list.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,17 @@ void string_list_remove_empty_items(struct string_list *list, int free_util);
5555
int string_list_has_string(const struct string_list *list, const char *string);
5656
int string_list_find_insert_index(const struct string_list *list, const char *string,
5757
int negative_existing_index);
58+
/*
59+
* Inserts the given string into the sorted list.
60+
* If the string already exists, the list is not altered.
61+
* Returns the string_list_item, the string is part of.
62+
*/
5863
struct string_list_item *string_list_insert(struct string_list *list, const char *string);
59-
struct string_list_item *string_list_insert_at_index(struct string_list *list,
60-
int insert_at, const char *string);
64+
65+
/*
66+
* Checks if the given string is part of a sorted list. If it is part of the list,
67+
* return the coresponding string_list_item, NULL otherwise.
68+
*/
6169
struct string_list_item *string_list_lookup(struct string_list *list, const char *string);
6270

6371
/*

0 commit comments

Comments
 (0)