t5520: test for failure if index has unresolved entries
[gitweb.git] / trailer.c
index 761b763d4d29ba68a8017a3c214c07872c986399..a905f5c50cef099c23d8a05acefc279168de69ec 100644 (file)
--- a/trailer.c
+++ b/trailer.c
@@ -228,7 +228,7 @@ static const char *apply_command(const char *command, const char *arg)
 {
        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;
 
@@ -237,7 +237,6 @@ static const char *apply_command(const char *command, const char *arg)
                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;
@@ -583,8 +582,12 @@ static int parse_trailer(struct strbuf *tok, struct strbuf *val, const char *tra
        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);