X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/7f08e03941c40a56fb1b5b3df62aa819fb2d6554..fe1bb0e765883fa4149fba12daee81b6ae070de3:/ui-repolist.c diff --git a/ui-repolist.c b/ui-repolist.c index 943eaab..dead1bf 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -43,8 +43,10 @@ static int get_repo_modtime(const struct cgit_repo *repo, time_t *mtime) path = fmt("%s/%s", repo->path, ctx.cfg.agefile); if (stat(path, &s) == 0) { *mtime = read_agefile(path); - r->mtime = *mtime; - return 1; + if (*mtime) { + r->mtime = *mtime; + return 1; + } } path = fmt("%s/refs/heads/%s", repo->path, repo->defbranch ? @@ -102,7 +104,7 @@ void print_sort_header(const char *title, const char *sort) { htmlf("%s", title); @@ -123,11 +125,14 @@ void print_header(int columns) void print_pager(int items, int pagelen, char *search, char *sort) { - int i; + int i, ofs; + char *class = NULL; html("
"); - for(i = 0; i * pagelen < items; i++) - cgit_index_link(fmt("[%d]", i+1), fmt("Page %d", i+1), NULL, - search, sort, i * pagelen); + for(i = 0, ofs = 0; ofs < items; i++, ofs = i * pagelen) { + class = (ctx.qry.ofs == ofs) ? "current" : NULL; + cgit_index_link(fmt("[%d]", i+1), fmt("Page %d", i+1), class, + search, sort, ofs); + } html("
"); } @@ -155,7 +160,7 @@ static int sort_section(const void *a, const void *b) result = cmp(r1->section, r2->section); if (!result) { - if (!strcmp(ctx.cfg.section_sort, "age")) { + if (!strcmp(ctx.cfg.repository_sort, "age")) { // get_repo_modtime caches the value in r->mtime, so we don't // have to worry about inefficiencies here. if (get_repo_modtime(r1, &t) && get_repo_modtime(r2, &t)) @@ -252,7 +257,7 @@ void cgit_print_repolist() if(ctx.qry.sort) sorted = sort_repolist(ctx.qry.sort); - else + else if (ctx.cfg.section_sort) sort_repolist("section"); html("");