From 420712ac2531f65a2b94d5ec6d8e03de6942331e Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Thu, 14 Dec 2006 00:40:34 +0100 Subject: Add simple pager to log page Signed-off-by: Lars Hjemli --- ui-log.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'ui-log.c') diff --git a/ui-log.c b/ui-log.c index 4d2c2e0..dce50f7 100644 --- a/ui-log.c +++ b/ui-log.c @@ -95,7 +95,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt) struct rev_info rev; struct commit *commit; const char *argv[2] = {NULL, tip}; - int n = 0; + int i; init_revisions(&rev, NULL); rev.abbrev = DEFAULT_ABBREV; @@ -108,7 +108,18 @@ void cgit_print_log(const char *tip, int ofs, int cnt) html("

Log

"); html(""); html("\n"); - while ((commit = get_revision(&rev)) != NULL && n++ < 100) { + + if (ofs<0) + ofs = 0; + + for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; i++) { + free(commit->buffer); + commit->buffer = NULL; + free_commit_list(commit->parents); + commit->parents = NULL; + } + + for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) { cgit_print_commit_shortlog(commit); free(commit->buffer); commit->buffer = NULL; @@ -116,5 +127,21 @@ void cgit_print_log(const char *tip, int ofs, int cnt) commit->parents = NULL; } html("
DateMessageAuthorLink
\n"); + + html("
"); + if (ofs > 0) { + html(" [prev] "); + } + + if ((commit = get_revision(&rev)) != NULL) { + html(" [next] "); + } + html("
"); } -- cgit v1.2.1