X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/ddfaef6bb28e697491b25bff5a7b260d44ce6ccf..7511f4b4df521656d422010b06e2b5b96b21eb84:/ui-diff.c diff --git a/ui-diff.c b/ui-diff.c index bf2ec57..1cf2ce0 100644 --- a/ui-diff.c +++ b/ui-diff.c @@ -31,7 +31,7 @@ static struct fileinfo { unsigned int removed; unsigned long old_size; unsigned long new_size; - int binary:1; + unsigned int binary:1; } *items; static int use_ssdiff = 0; @@ -311,7 +311,7 @@ static void filepair_cb(struct diff_filepair *pair) cgit_ssdiff_footer(); } -void cgit_print_diff_ctrls() +void cgit_print_diff_ctrls(void) { int i, curr; @@ -428,6 +428,16 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, if (show_ctrls) cgit_print_diff_ctrls(); + /* + * Clicking on a link to a file in the diff stat should show a diff + * of the file, showing the diff stat limited to a single file is + * pretty useless. All links from this point on will be to + * individual files, so we simply reset the difftype in the query + * here to avoid propagating DIFF_STATONLY to the individual files. + */ + if (difftype == DIFF_STATONLY) + ctx.qry.difftype = ctx.cfg.difftype; + cgit_print_diffstat(old_rev_sha1, new_rev_sha1, prefix); if (difftype == DIFF_STATONLY)