git-daemon: timeout, eliminate double DWIM
[gitweb.git] / commit.c
index 56192587afa7454e5db8c5ac3e4a937c1f0694ea..f735f981bb2d4d7594e416bcb728ac06d09ebd0c 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -3,6 +3,8 @@
 #include "commit.h"
 #include "cache.h"
 
+int save_commit_buffer = 1;
+
 struct sort_node
 {
        /*
@@ -102,7 +104,7 @@ static unsigned long parse_commit_date(const char *buf)
 static struct commit_graft {
        unsigned char sha1[20];
        int nr_parent;
-       unsigned char parent[][20]; /* more */
+       unsigned char parent[0][20]; /* more */
 } **commit_graft;
 static int commit_graft_alloc, commit_graft_nr;
 
@@ -264,7 +266,7 @@ int parse_commit(struct commit *item)
                             sha1_to_hex(item->object.sha1));
        }
        ret = parse_commit_buffer(item, buffer, size);
-       if (!ret) {
+       if (save_commit_buffer && !ret) {
                item->buffer = buffer;
                return 0;
        }
@@ -357,7 +359,7 @@ static int get_one_line(const char *msg, unsigned long len)
 static int add_user_info(const char *what, enum cmit_fmt fmt, char *buf, const char *line)
 {
        char *date;
-       unsigned int namelen;
+       int namelen;
        unsigned long time;
        int tz, ret;