]> rtime.felk.cvut.cz Git - git.git/commitdiff
mailmap: use higher level string list functions
authorStefan Beller <sbeller@google.com>
Tue, 25 Nov 2014 03:44:14 +0000 (19:44 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 4 Dec 2014 23:10:21 +0000 (15:10 -0800)
No functional changes intended. This commit makes use of higher level
and better documented functions of the string list API, so the code is
more understandable.

Note that also the required computational amount should not change
in principal as we need to look up the item no matter if it is already
part of the list or not. Once looked up, insertion comes for free.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mailmap.c

index 81890a6680029ec1d369a7eef11a4ec112847fb7..9e9589730fa44c94d122dfdb50172baf95e2578d 100644 (file)
--- a/mailmap.c
+++ b/mailmap.c
@@ -71,22 +71,17 @@ static void add_mapping(struct string_list *map,
                        char *old_name, char *old_email)
 {
        struct mailmap_entry *me;
-       int index;
+       struct string_list_item *item;
 
        if (old_email == NULL) {
                old_email = new_email;
                new_email = NULL;
        }
 
-       if ((index = string_list_find_insert_index(map, old_email, 1)) < 0) {
-               /* mailmap entry exists, invert index value */
-               index = -1 - index;
-               me = (struct mailmap_entry *)map->items[index].util;
+       item = string_list_insert(map, old_email);
+       if (item->util) {
+               me = (struct mailmap_entry *)item->util;
        } else {
-               /* create mailmap entry */
-               struct string_list_item *item;
-
-               item = string_list_insert_at_index(map, index, old_email);
                me = xcalloc(1, sizeof(struct mailmap_entry));
                me->namemap.strdup_strings = 1;
                me->namemap.cmp = namemap_cmp;
@@ -94,8 +89,8 @@ static void add_mapping(struct string_list *map,
        }
 
        if (old_name == NULL) {
-               debug_mm("mailmap: adding (simple) entry for %s at index %d\n",
-                        old_email, index);
+               debug_mm("mailmap: adding (simple) entry for '%s'\n", old_email);
+
                /* Replace current name and new email for simple entry */
                if (new_name) {
                        free(me->name);
@@ -107,8 +102,7 @@ static void add_mapping(struct string_list *map,
                }
        } else {
                struct mailmap_info *mi = xcalloc(1, sizeof(struct mailmap_info));
-               debug_mm("mailmap: adding (complex) entry for %s at index %d\n",
-                        old_email, index);
+               debug_mm("mailmap: adding (complex) entry for '%s'\n", old_email);
                if (new_name)
                        mi->name = xstrdup(new_name);
                if (new_email)