Johannes Schindelin <johannes.schinde...@gmx.de> 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.

Reply via email to