From: Junio C Hamano Date: Thu, 15 Dec 2016 18:50:31 GMT Subject: Re: [PATCH v2 09/34] sequencer (rebase -i): write an author-script file Message-ID: In-Reply-To: <09c2718e119f809093794410ae1a738c1cd122d1.1481642927.git.johannes.schindelin@gmx.de> Johannes Schindelin writes: > + strbuf_addstr(&buf, "GIT_AUTHOR_NAME='"); > + while (*message && *message != '\n' && *message != '\r') > + if (skip_prefix(message, " <", &message)) > + break; > + else if (*message != '\'') > + strbuf_addch(&buf, *(message++)); > + else > + strbuf_addf(&buf, "'\\\\%c'", *(message++)); > + strbuf_addstr(&buf, "'\nGIT_AUTHOR_EMAIL='"); > + while (*message && *message != '\n' && *message != '\r') > + if (skip_prefix(message, "> ", &message)) > + break; > + else if (*message != '\'') > + strbuf_addch(&buf, *(message++)); > + else > + strbuf_addf(&buf, "'\\\\%c'", *(message++)); Aren't these reading from an in-core commit object? If so, it should use split_ident_line() for consistency with other parts of the system to do this parsing. We should also already have a helper for simple shell-quoting in quote.c and you would want to use that instead of open coding like this.