X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=mailmap.c;h=30614343213442806c5fbc28e904639d35c670cf;hb=5022b58e5832297f654230db89c0d0f92d8e3f1e;hp=44614fc411fa7948d710c07a0262454aa0e76d0b;hpb=35f5eaa2eedcd7145ee59ff5ff2cb48e71270b81;p=~andy%2Fgit diff --git a/mailmap.c b/mailmap.c index 44614fc41..306143432 100644 --- a/mailmap.c +++ b/mailmap.c @@ -193,20 +193,17 @@ static int read_mailmap_file(struct string_list *map, const char *filename, return 0; } -static void read_mailmap_buf(struct string_list *map, - const char *buf, unsigned long len, - char **repo_abbrev) +static void read_mailmap_string(struct string_list *map, char *buf, + char **repo_abbrev) { - while (len) { - const char *end = strchrnul(buf, '\n'); - unsigned long linelen = end - buf + 1; - char *line = xmemdupz(buf, linelen); + while (*buf) { + char *end = strchrnul(buf, '\n'); - read_mailmap_line(map, line, repo_abbrev); + if (*end) + *end++ = '\0'; - free(line); - buf += linelen; - len -= linelen; + read_mailmap_line(map, buf, repo_abbrev); + buf = end; } } @@ -230,7 +227,7 @@ static int read_mailmap_blob(struct string_list *map, if (type != OBJ_BLOB) return error("mailmap is not a blob: %s", name); - read_mailmap_buf(map, buf, size, repo_abbrev); + read_mailmap_string(map, buf, repo_abbrev); free(buf); return 0;