log: prepare log/log-tree to reuse the diffopt.close_file attribute
[gitweb.git] / log-tree.c
index 78a5381d0eaebb9092a8bb456fa656462ec65170..456d7e3d631b58588ca772ebf5ad8ef3716055c0 100644 (file)
@@ -862,11 +862,12 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
 int log_tree_commit(struct rev_info *opt, struct commit *commit)
 {
        struct log_info log;
-       int shown;
+       int shown, close_file = opt->diffopt.close_file;
 
        log.commit = commit;
        log.parent = NULL;
        opt->loginfo = &log;
+       opt->diffopt.close_file = 0;
 
        if (opt->line_level_traverse)
                return line_log_print(opt, commit);
@@ -883,5 +884,7 @@ int log_tree_commit(struct rev_info *opt, struct commit *commit)
                printf("\n%s\n", opt->break_bar);
        opt->loginfo = NULL;
        maybe_flush_or_die(stdout, "stdout");
+       if (close_file)
+               fclose(opt->diffopt.file);
        return shown;
 }