Makefile: allow building without perl
[gitweb.git] / builtin-fmt-merge-msg.c
index c6324dc795bfd778470fbbe7b0720ce9ff83a34e..a7883690d74cb1bcef7b20f27ebbea6f6c5dcc53 100644 (file)
@@ -256,8 +256,7 @@ static void shortlog(const char *name, unsigned char *sha1,
 
 int fmt_merge_msg(int merge_summary, struct strbuf *in, struct strbuf *out) {
        int limit = 20, i = 0, pos = 0;
-       char line[1024];
-       char *p = line, *sep = "";
+       char *sep = "";
        unsigned char head_sha1[20];
        const char *current_branch;
 
@@ -271,9 +270,8 @@ int fmt_merge_msg(int merge_summary, struct strbuf *in, struct strbuf *out) {
        /* get a line */
        while (pos < in->len) {
                int len;
-               char *newline;
+               char *newline, *p = in->buf + pos;
 
-               p = in->buf + pos;
                newline = strchr(p, '\n');
                len = newline ? newline - p : strlen(p);
                pos += len + !!newline;
@@ -358,7 +356,7 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
        };
 
        FILE *in = stdin;
-       struct strbuf input, output;
+       struct strbuf input = STRBUF_INIT, output = STRBUF_INIT;
        int ret;
 
        git_config(fmt_merge_msg_config, NULL);
@@ -372,10 +370,8 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
                        die("cannot open %s", inpath);
        }
 
-       strbuf_init(&input, 0);
        if (strbuf_read(&input, fileno(in), 0) < 0)
                die("could not read input file %s", strerror(errno));
-       strbuf_init(&output, 0);
 
        ret = fmt_merge_msg(merge_summary, &input, &output);
        if (ret)