diff options
-rw-r--r-- | mailmap.c | 20 | ||||
-rwxr-xr-x | t/t4203-mailmap.sh | 2 |
2 files changed, 9 insertions, 13 deletions
@@ -51,14 +51,6 @@ static void add_mapping(struct string_list *map, { struct mailmap_entry *me; int index; - char *p; - - if (old_email) - for (p = old_email; *p; p++) - *p = tolower(*p); - if (new_email) - for (p = new_email; *p; p++) - *p = tolower(*p); if (old_email == NULL) { old_email = new_email; @@ -68,13 +60,17 @@ static void add_mapping(struct string_list *map, 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; } else { /* create mailmap entry */ - struct string_list_item *item = string_list_insert_at_index(map, index, old_email); - item->util = xcalloc(1, sizeof(struct mailmap_entry)); - ((struct mailmap_entry *)item->util)->namemap.strdup_strings = 1; + 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 = strcasecmp; + item->util = me; } - me = (struct mailmap_entry *)map->items[index].util; if (old_name == NULL) { debug_mm("mailmap: adding (simple) entry for %s at index %d\n", old_email, index); diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh index ffe6a11ac0..c32df80f14 100755 --- a/t/t4203-mailmap.sh +++ b/t/t4203-mailmap.sh @@ -256,7 +256,7 @@ test_expect_success 'single-character name' ' test_cmp expect actual ' -test_expect_failure 'preserve canonical email case' ' +test_expect_success 'preserve canonical email case' ' echo " 1 A U Thor <AUTHOR@example.com>" >expect && echo " 1 nick1 <bugs@company.xx>" >>expect && echo "<AUTHOR@example.com> <author@example.com>" >.mailmap && |