X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/103940fe6b0914dc42b8b033d1d328f38135ca5f..72ede12551af320b6d8eade853dbd2cd6f2222cc:/ui-log.c diff --git a/ui-log.c b/ui-log.c index d38e40a..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; @@ -62,8 +62,11 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, i if (!tip) argv[1] = cgit_query_head; - if (grep) - argv[argc++] = fmt("--grep=%s", grep); + 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; @@ -115,13 +118,15 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path, i if (ofs > 0) { cgit_log_link("[prev]", NULL, NULL, cgit_query_head, cgit_query_sha1, cgit_query_path, - ofs - cnt); + ofs - cnt, cgit_query_grep, + cgit_query_search); html(" "); } if ((commit = get_revision(&rev)) != NULL) { cgit_log_link("[next]", NULL, NULL, cgit_query_head, cgit_query_sha1, cgit_query_path, - ofs + cnt); + ofs + cnt, cgit_query_grep, + cgit_query_search); } html(""); }