X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/42a7eb9c73457319a3fd5441ff26046fc9b31dad..72ede12551af320b6d8eade853dbd2cd6f2222cc:/ui-log.c?ds=sidebyside diff --git a/ui-log.c b/ui-log.c index 8d774b0..9f5fdf6 100644 --- a/ui-log.c +++ b/ui-log.c @@ -51,7 +51,7 @@ void print_commit(struct commit *commit) } -void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, int pager) +void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern, char *path, int pager) { struct rev_info rev; struct commit *commit; @@ -59,8 +59,14 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, i int argc = 2; int i; - if (grep) - argv[argc++] = fmt("--grep=%s", grep); + if (!tip) + argv[1] = cgit_query_head; + + if (grep && pattern && (!strcmp(grep, "grep") || + !strcmp(grep, "author") || + !strcmp(grep, "committer"))) + argv[argc++] = fmt("--%s=%s", grep, pattern); + if (path) { argv[argc++] = "--"; argv[argc++] = path; @@ -110,17 +116,17 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, i if (pager) { html("
"); if (ofs > 0) { - html(" [prev] "); + cgit_log_link("[prev]", NULL, NULL, cgit_query_head, + cgit_query_sha1, cgit_query_path, + ofs - cnt, cgit_query_grep, + cgit_query_search); + html(" "); } - if ((commit = get_revision(&rev)) != NULL) { - html(" [next] "); + cgit_log_link("[next]", NULL, NULL, cgit_query_head, + cgit_query_sha1, cgit_query_path, + ofs + cnt, cgit_query_grep, + cgit_query_search); } html("
"); }