From: Lukas Sandström Date: Mon, 21 Jul 2008 14:36:31 GMT Subject: Re: [PATCH] mailinfo: better parse email adresses containg parentheses Message-ID: <48849EEF.6070403@etek.chalmers.se> In-Reply-To: <1216647269-12287-1-git-send-email-book@cpan.org> 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) > > Signed-off-by: Philippe Bruhat (BooK) ACK. > --- > 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