shortlog: handle email addresses case-insensitively
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
d8e812502f
commit
549652361b
@ -34,6 +34,7 @@ static int read_mailmap(const char *filename)
|
|||||||
while (fgets(buffer, sizeof(buffer), f) != NULL) {
|
while (fgets(buffer, sizeof(buffer), f) != NULL) {
|
||||||
char *end_of_name, *left_bracket, *right_bracket;
|
char *end_of_name, *left_bracket, *right_bracket;
|
||||||
char *name, *email;
|
char *name, *email;
|
||||||
|
int i;
|
||||||
if (buffer[0] == '#')
|
if (buffer[0] == '#')
|
||||||
continue;
|
continue;
|
||||||
if ((left_bracket = strchr(buffer, '<')) == NULL)
|
if ((left_bracket = strchr(buffer, '<')) == NULL)
|
||||||
@ -50,7 +51,9 @@ static int read_mailmap(const char *filename)
|
|||||||
name = xmalloc(end_of_name - buffer + 1);
|
name = xmalloc(end_of_name - buffer + 1);
|
||||||
strlcpy(name, buffer, end_of_name - buffer + 1);
|
strlcpy(name, buffer, end_of_name - buffer + 1);
|
||||||
email = xmalloc(right_bracket - left_bracket);
|
email = xmalloc(right_bracket - left_bracket);
|
||||||
strlcpy(email, left_bracket + 1, right_bracket - left_bracket);
|
for (i = 0; i < right_bracket - left_bracket - 1; i++)
|
||||||
|
email[i] = tolower(left_bracket[i + 1]);
|
||||||
|
email[right_bracket - left_bracket - 1] = '\0';
|
||||||
path_list_insert(email, &mailmap)->util = name;
|
path_list_insert(email, &mailmap)->util = name;
|
||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
@ -68,6 +71,9 @@ static int map_email(char *email, char *name, int maxlen)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
|
/* downcase the email address */
|
||||||
|
for (p = email; *p; p++)
|
||||||
|
*p = tolower(*p);
|
||||||
item = path_list_lookup(email, &mailmap);
|
item = path_list_lookup(email, &mailmap);
|
||||||
if (item != NULL) {
|
if (item != NULL) {
|
||||||
const char *realname = (const char *)item->util;
|
const char *realname = (const char *)item->util;
|
||||||
|
Reference in New Issue
Block a user