Diffstat (limited to 'ui-shared.c')
| -rw-r--r-- | ui-shared.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ui-shared.c b/ui-shared.c index 686fde0..9eb48a9 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -494,6 +494,21 @@ void cgit_diff_link(const char *name, const char *title, const char *class, html_url_arg(old_rev); delim = "&"; } + /* + * Emit the ref offsets after the refs so that they follow the + * refs through file-level links; a zero offset means the ref + * itself. + */ + if (ctx.qry.idoff) { + html(delim); + htmlf("idoff=%d", ctx.qry.idoff); + delim = "&"; + } + if (ctx.qry.id2off) { + html(delim); + htmlf("id2off=%d", ctx.qry.id2off); + delim = "&"; + } if (ctx.qry.difftype) { html(delim); htmlf("dt=%d", ctx.qry.difftype); @@ -1051,6 +1066,10 @@ void cgit_add_hidden_formfields(int incl_head, int incl_search, html_hidden("id", ctx.qry.oid); if (ctx.qry.oid2) html_hidden("id2", ctx.qry.oid2); + if (ctx.qry.idoff) + html_hidden("idoff", fmt("%d", ctx.qry.idoff)); + if (ctx.qry.id2off) + html_hidden("id2off", fmt("%d", ctx.qry.id2off)); if (ctx.qry.showmsg) html_hidden("showmsg", "1"); |