summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--ui-log.c9
-rw-r--r--ui-shared.c1
2 files changed, 7 insertions, 3 deletions
diff --git a/ui-log.c b/ui-log.c
index 5eb5c81..33ec8a9 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -140,28 +140,31 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
140{ 140{
141 struct rev_info rev; 141 struct rev_info rev;
142 struct commit *commit; 142 struct commit *commit;
143 const char *argv[] = {NULL, NULL, NULL, NULL, NULL}; 143 const char *argv[] = {NULL, NULL, NULL, NULL, NULL};
144 int argc = 2; 144 int argc = 2;
145 int i, columns = 3; 145 int i, columns = 3;
146 146
147 if (!tip) 147 if (!tip)
148 tip = ctx.qry.head; 148 tip = ctx.qry.head;
149 149
150 argv[1] = disambiguate_ref(tip); 150 argv[1] = disambiguate_ref(tip);
151 151
152 if (grep && pattern && (!strcmp(grep, "grep") || 152 if (grep && pattern) {
153 !strcmp(grep, "author") || 153 if (!strcmp(grep, "grep") || !strcmp(grep, "author") ||
154 !strcmp(grep, "committer"))) 154 !strcmp(grep, "committer"))
155 argv[argc++] = fmt("--%s=%s", grep, pattern); 155 argv[argc++] = fmt("--%s=%s", grep, pattern);
156 if (!strcmp(grep, "range"))
157 argv[1] = pattern;
158 }
156 159
157 if (path) { 160 if (path) {
158 argv[argc++] = "--"; 161 argv[argc++] = "--";
159 argv[argc++] = path; 162 argv[argc++] = path;
160 } 163 }
161 init_revisions(&rev, NULL); 164 init_revisions(&rev, NULL);
162 rev.abbrev = DEFAULT_ABBREV; 165 rev.abbrev = DEFAULT_ABBREV;
163 rev.commit_format = CMIT_FMT_DEFAULT; 166 rev.commit_format = CMIT_FMT_DEFAULT;
164 rev.verbose_header = 1; 167 rev.verbose_header = 1;
165 rev.show_root_diff = 0; 168 rev.show_root_diff = 0;
166 setup_revisions(argc, argv, &rev, NULL); 169 setup_revisions(argc, argv, &rev, NULL);
167 load_ref_decorations(DECORATE_FULL_REFS); 170 load_ref_decorations(DECORATE_FULL_REFS);
diff --git a/ui-shared.c b/ui-shared.c
index c99bcec..c398d7a 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -821,24 +821,25 @@ void cgit_print_pageheader(struct cgit_context *ctx)
821 NULL); 821 NULL);
822 html("</td><td class='form'>"); 822 html("</td><td class='form'>");
823 html("<form class='right' method='get' action='"); 823 html("<form class='right' method='get' action='");
824 if (ctx->cfg.virtual_root) 824 if (ctx->cfg.virtual_root)
825 html_url_path(cgit_fileurl(ctx->qry.repo, "log", 825 html_url_path(cgit_fileurl(ctx->qry.repo, "log",
826 ctx->qry.vpath, NULL)); 826 ctx->qry.vpath, NULL));
827 html("'>\n"); 827 html("'>\n");
828 cgit_add_hidden_formfields(1, 0, "log"); 828 cgit_add_hidden_formfields(1, 0, "log");
829 html("<select name='qt'>\n"); 829 html("<select name='qt'>\n");
830 html_option("grep", "log msg", ctx->qry.grep); 830 html_option("grep", "log msg", ctx->qry.grep);
831 html_option("author", "author", ctx->qry.grep); 831 html_option("author", "author", ctx->qry.grep);
832 html_option("committer", "committer", ctx->qry.grep); 832 html_option("committer", "committer", ctx->qry.grep);
833 html_option("range", "range", ctx->qry.grep);
833 html("</select>\n"); 834 html("</select>\n");
834 html("<input class='txt' type='text' size='10' name='q' value='"); 835 html("<input class='txt' type='text' size='10' name='q' value='");
835 html_attr(ctx->qry.search); 836 html_attr(ctx->qry.search);
836 html("'/>\n"); 837 html("'/>\n");
837 html("<input type='submit' value='search'/>\n"); 838 html("<input type='submit' value='search'/>\n");
838 html("</form>\n"); 839 html("</form>\n");
839 } else { 840 } else {
840 site_link(NULL, "index", NULL, hc(ctx, "repolist"), NULL, 0); 841 site_link(NULL, "index", NULL, hc(ctx, "repolist"), NULL, 0);
841 if (ctx->cfg.root_readme) 842 if (ctx->cfg.root_readme)
842 site_link("about", "about", NULL, hc(ctx, "about"), 843 site_link("about", "about", NULL, hc(ctx, "about"),
843 NULL, 0); 844 NULL, 0);
844 html("</td><td class='form'>"); 845 html("</td><td class='form'>");