diff --git a/ui-log.c b/ui-log.c index 9f5fdf6..e5f3c57 100644 --- a/ui-log.c +++ b/ui-log.c @@ -8,12 +8,18 @@ #include "cgit.h" -int files, lines; +int files, add_lines, rem_lines; void count_lines(char *line, int size) { - if (size>0 && (line[0] == '+' || line[0] == '-')) - lines++; + if (size <= 0) + return; + + if (line[0] == '+') + add_lines++; + + else if (line[0] == '-') + rem_lines++; } void inspect_files(struct diff_filepair *pair) @@ -35,13 +41,14 @@ void print_commit(struct commit *commit) sha1_to_hex(commit->object.sha1)); if (cgit_repo->enable_log_filecount) { files = 0; - lines = 0; + add_lines = 0; + rem_lines = 0; cgit_diff_commit(commit, inspect_files); html(""); htmlf("%d", files); if (cgit_repo->enable_log_linecount) { html(""); - htmlf("%d", lines); + htmlf("-%d/+%d", rem_lines, add_lines); } } html(""); @@ -88,9 +95,9 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern "Message"); if (cgit_repo->enable_log_filecount) { - html("Files"); + html("Files"); if (cgit_repo->enable_log_linecount) - html("Lines"); + html("Lines"); } html("Author\n");