{
struct strbuf cmd = STRBUF_INIT;
struct strbuf buf = STRBUF_INIT;
- struct child_process cp;
+ struct child_process cp = CHILD_PROCESS_INIT;
const char *argv[] = {NULL, NULL};
const char *result;
strbuf_replace(&cmd, TRAILER_ARG_STRING, arg);
argv[0] = cmd.buf;
- memset(&cp, 0, sizeof(cp));
cp.argv = argv;
cp.env = local_repo_env;
cp.no_stdin = 1;
strbuf_addch(&seps, '=');
len = strcspn(trailer, seps.buf);
strbuf_release(&seps);
- if (len == 0)
- return error(_("empty trailer token in trailer '%s'"), trailer);
+ if (len == 0) {
+ int l = strlen(trailer);
+ while (l > 0 && isspace(trailer[l - 1]))
+ l--;
+ return error(_("empty trailer token in trailer '%.*s'"), l, trailer);
+ }
if (len < strlen(trailer)) {
strbuf_add(tok, trailer, len);
strbuf_trim(tok);