X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/e19f7d7180d64c8ba9ca15f5fe164606f0ec88c1..7530d94f05887b8065742adb614c368d8568a22c:/ui-shared.c diff --git a/ui-shared.c b/ui-shared.c index 5aa9119..85c2096 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -133,7 +133,7 @@ char *cgit_currurl() return fmt("%s/", ctx.cfg.virtual_root); } -static void site_url(const char *page, const char *search, int ofs) +static void site_url(const char *page, const char *search, const char *sort, int ofs) { char *delim = "?"; @@ -154,6 +154,12 @@ static void site_url(const char *page, const char *search, int ofs) html_attr(search); delim = "&"; } + if (sort) { + html(delim); + html("s="); + html_attr(sort); + delim = "&"; + } if (ofs) { html(delim); htmlf("ofs=%d", ofs); @@ -161,7 +167,7 @@ static void site_url(const char *page, const char *search, int ofs) } static void site_link(const char *page, const char *name, const char *title, - const char *class, const char *search, int ofs) + const char *class, const char *search, const char *sort, int ofs) { html(""); html_txt(name); html(""); } void cgit_index_link(const char *name, const char *title, const char *class, - const char *pattern, int ofs) + const char *pattern, const char *sort, int ofs) { - site_link(NULL, name, title, class, pattern, ofs); + site_link(NULL, name, title, class, pattern, sort, ofs); } static char *repolink(const char *title, const char *class, const char *page, @@ -428,7 +434,7 @@ void cgit_self_link(char *name, const char *title, const char *class, struct cgit_context *ctx) { if (!strcmp(ctx->qry.page, "repolist")) - return cgit_index_link(name, title, class, ctx->qry.search, + return cgit_index_link(name, title, class, ctx->qry.search, ctx->qry.sort, ctx->qry.ofs); else if (!strcmp(ctx->qry.page, "summary")) return cgit_summary_link(name, title, class, ctx->qry.head); @@ -782,7 +788,7 @@ static void print_header(struct cgit_context *ctx) html("