On Wed, Sep 12, 2018 at 6:11 AM Phillip Wood <[email protected]> wrote:
> Use the new function to read the author script, updating
> read_env_script() and read_author_ident(). This means we now have a
> single code path that reads the author script and uses sq_dequote() to
> dequote it. This fixes potential problems with user edited scripts
> as read_env_script() which did not track quotes properly.
> [...]
> Signed-off-by: Phillip Wood <[email protected]>
> ---
> diff --git a/sequencer.c b/sequencer.c
> @@ -723,54 +723,35 @@ int read_author_script(const char *path, char **name,
> char **email, char **date,
> static int read_env_script(struct argv_array *env)
> {
> + strbuf_addstr(&script, "GIT_AUTHOR_NAME=");
> + strbuf_addstr(&script, name);
> + argv_array_push(env, script.buf);
> + strbuf_reset(&script);
> + strbuf_addstr(&script, "GIT_AUTHOR_EMAIL=");
> + strbuf_addstr(&script, email);
> + argv_array_push(env, script.buf);
> + strbuf_reset(&script);
> + strbuf_addstr(&script, "GIT_AUTHOR_DATE=");
> + strbuf_addstr(&script, date);
> + argv_array_push(env, script.buf);
> + strbuf_release(&script);
I haven't read this series closely yet, but this caught my eye while
scanning it quickly. The above noisy code can all be collapsed to the
simpler:
argv_array_pushf(env, "GIT_AUTHOR_NAME=%s", name);
argv_array_pushf(env, "GIT_AUTHOR_EMAIL =%s", email);
argv_array_pushf(env, "GIT_AUTHOR_DATE =%s", date);