diff options
Diffstat (limited to 'ui-diff.c')
-rw-r--r-- | ui-diff.c | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -34,6 +34,17 @@ static struct fileinfo { } *items; static int use_ssdiff = 0; +static struct diff_filepair *current_filepair; + +struct diff_filespec *cgit_get_current_old_file(void) +{ + return current_filepair->one; +} + +struct diff_filespec *cgit_get_current_new_file(void) +{ + return current_filepair->two; +} static void print_fileinfo(struct fileinfo *info) { @@ -161,8 +172,11 @@ void cgit_print_diffstat(const unsigned char *old_sha1, html("<div class='diffstat-header'>"); cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.sha1, ctx.qry.sha2, NULL, 0); - if (prefix) - htmlf(" (limited to '%s')", prefix); + if (prefix) { + html(" (limited to '"); + html_txt(prefix); + html("')"); + } html(" ("); ctx.qry.context = (save_context > 0 ? save_context : 3) << 1; cgit_self_link("more", NULL, NULL, &ctx); @@ -284,6 +298,7 @@ static void filepair_cb(struct diff_filepair *pair) int binary = 0; linediff_fn print_line_fn = print_line; + current_filepair = pair; if (use_ssdiff) { cgit_ssdiff_header_begin(); print_line_fn = cgit_ssdiff_line_cb; |