Merge branch 'jk/mailmap-incomplete-line'

* jk/mailmap-incomplete-line:
  mailmap: handle mailmap blobs without trailing newlines
This commit is contained in:
Junio C Hamano
2013-09-09 14:50:41 -07:00
2 changed files with 24 additions and 13 deletions

View File

@ -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;