mailmap: simplify map_user() interface

Simplify map_user(), mostly to avoid copies of string buffers. It
also simplifies caller functions.

map_user() directly receive pointers and length from the commit buffer
as mail and name. If mapping of the user and mail can be done, the
pointer is updated to a new location. Lengths are also updated if
necessary.

The caller of map_user() can then copy the new email and name if
necessary.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Antoine Pelisse
2013-01-05 22:26:40 +01:00
committed by Junio C Hamano
parent 388c7f8a27
commit ea02ffa385
5 changed files with 125 additions and 143 deletions

View File

@ -4,7 +4,7 @@
int read_mailmap(struct string_list *map, char **repo_abbrev);
void clear_mailmap(struct string_list *map);
int map_user(struct string_list *mailmap,
char *email, int maxlen_email, char *name, int maxlen_name);
int map_user(struct string_list *map,
const char **email, size_t *emaillen, const char **name, size_t *namelen);
#endif