determine_author_info(): reuse parsing functions
commitf0f9662ae9d1c7f58a95397d1c6d5f31760b14be
authorJeff King <peff@peff.net>
Wed, 27 Aug 2014 07:57:28 +0000 (27 03:57 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 29 Aug 2014 17:33:28 +0000 (29 10:33 -0700)
treeed31a3d9d8f6a7833b81f0e0cd643a3a810fea20
parentc33ddc2e33d51da9391a81206a1d9e4a92d97d10
determine_author_info(): reuse parsing functions

Rather than parsing the header manually to find the "author"
field, and then parsing its sub-parts, let's use
find_commit_header and split_ident_line. This is shorter and
easier to read, and should do a more careful parsing job.

For example, the current parser could find the end-of-email
right-bracket across a newline (for a malformed commit), and
calculate a bogus gigantic length for the date (by using
"eol - rb").

As a bonus, this also plugs a memory leak when we pull the
date field from an existing commit (we still leak the name
and email buffers, which will be fixed in a later commit).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/commit.c