Cleanup uninitialized value in chomp
[gitweb.git] / builtin-log.c
index 9453e6d2db672d593195e199a10cc6ce1bf34db2..13a3f9b25db3fb2746c21b2ce6327627c965c0ce 100644 (file)
@@ -50,8 +50,11 @@ static int cmd_log_walk(struct rev_info *rev)
        prepare_revision_walk(rev);
        while ((commit = get_revision(rev)) != NULL) {
                log_tree_commit(rev, commit);
-               free(commit->buffer);
-               commit->buffer = NULL;
+               if (!rev->reflog_info) {
+                       /* we allow cycles in reflog ancestry */
+                       free(commit->buffer);
+                       commit->buffer = NULL;
+               }
                free_commit_list(commit->parents);
                commit->parents = NULL;
        }
@@ -197,7 +200,7 @@ static int istitlechar(char c)
 
 static char *extra_headers = NULL;
 static int extra_headers_size = 0;
-static const char *fmt_patch_suffix = ".txt";
+static const char *fmt_patch_suffix = ".patch";
 
 static int git_format_config(const char *var, const char *value)
 {
@@ -468,7 +471,10 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
                die ("unrecognized argument: %s", argv[1]);
 
        if (!rev.diffopt.output_format)
-               rev.diffopt.output_format = DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_PATCH;
+               rev.diffopt.output_format = DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_SUMMARY | DIFF_FORMAT_PATCH;
+
+       if (!rev.diffopt.text)
+               rev.diffopt.binary = 1;
 
        if (!output_directory)
                output_directory = prefix;