Re: [PATCH] mailinfo: better parse email adresses containg parentheses
From: Lukas Sandström <hidden>
Date: 2016-06-15 22:44:59
Philippe Bruhat (BooK) wrote:
When using git-rebase, author fields containing a ')' at the last
position had the close-parens character incorrectly removed
because the From: parser incorrectly matched it as
user@host (User Name)
(removing parentheses), instead of
User Name (me) <user@host>
Signed-off-by: Philippe Bruhat (BooK) <redacted>ACK.
quoted hunk ↗ jump to hunk
--- builtin-mailinfo.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c index b99a5b6..5581c9f 100644 --- a/builtin-mailinfo.c +++ b/builtin-mailinfo.c@@ -115,10 +115,10 @@ static void handle_from(const struct strbuf *from) * the () pair at the end. */ strbuf_trim(&f); - if (f.buf[0] == '(') + if (f.buf[0] == '(' && f.len && f.buf[f.len - 1] == ')') { strbuf_remove(&name, 0, 1);
Note: The line above should obviously be "strbuf_remove(&f, 0, 1);", another error from the strbuf conversion I made. Sigh.
- if (f.len && f.buf[f.len - 1] == ')') strbuf_setlen(&f, f.len - 1); + } get_sane_name(&name, &f, &email); strbuf_release(&f);
/Lukas