From: Philippe Bruhat (BooK) Date: Mon, 21 Jul 2008 13:34:29 +0000 (+0200) Subject: mailinfo: better parse email adresses containg parentheses X-Git-Tag: v1.6.0-rc1~83 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0d4ede9f5493f0e15fb4f799e6a4a25e36c49fd2;p=git.git mailinfo: better parse email adresses containg parentheses When using git-rebase, author fields containing a ')' at the last position had the close-parens character removed; the removal should be done only when it is of this form: user@host (User Name) i.e. the remainder after stripping the e-mail address part is enclosed in a parentheses pair as a whole, not for addresses like this: User Name (me) Signed-off-by: Philippe Bruhat (BooK) Acked-by: Lukas Sandström Signed-off-by: Junio C Hamano --- diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c index b99a5b6f9..f974b9df9 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] == '(') - strbuf_remove(&name, 0, 1); - if (f.len && f.buf[f.len - 1] == ')') + if (f.buf[0] == '(' && f.len && f.buf[f.len - 1] == ')') { + strbuf_remove(&f, 0, 1); strbuf_setlen(&f, f.len - 1); + } get_sane_name(&name, &f, &email); strbuf_release(&f);