[PATCH] ui-repolist: Tweak max-repo-count handling
Bernhard Reutner-Fischer
rep.dot.nop at gmail.com
Thu Jun 18 14:18:32 CEST 2015
A max-repo-count less than or equal to 0 now disables repository
pagination.
Previously a value of 0 or smaller went into an infinite loop just
printing pagination links without any repo.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
cgitrc.5.txt | 3 ++-
ui-repolist.c | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index e21ece9..0a2a402 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -270,7 +270,8 @@ max-message-length::
max-repo-count::
Specifies the number of entries to list per page on the repository
- index page. Default value: "50".
+ index page. A value of 0 or a negative number disables repository
+ paging. Default value: "50".
max-repodesc-length::
Specifies the maximum number of repo description characters to display
diff --git a/ui-repolist.c b/ui-repolist.c
index 2453a7f..8755dc1 100644
--- a/ui-repolist.c
+++ b/ui-repolist.c
@@ -282,7 +282,8 @@ void cgit_print_repolist(void)
hits++;
if (hits <= ctx.qry.ofs)
continue;
- if (hits > ctx.qry.ofs + ctx.cfg.max_repo_count)
+ if (ctx.cfg.max_repo_count > 0 &&
+ hits > ctx.qry.ofs + ctx.cfg.max_repo_count)
continue;
if (!header++)
print_header();
@@ -339,7 +340,8 @@ void cgit_print_repolist(void)
html("</table>");
if (!hits)
cgit_print_error("No repositories found");
- else if (hits > ctx.cfg.max_repo_count)
+ else if (ctx.cfg.max_repo_count > 0 &&
+ hits > ctx.cfg.max_repo_count)
print_pager(hits, ctx.cfg.max_repo_count, ctx.qry.search, ctx.qry.sort);
cgit_print_docend();
}
--
2.1.4
More information about the CGit
mailing list