aboutsummaryrefslogtreecommitdiff
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
-rw-r--r--ui-log.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/ui-log.c b/ui-log.c
index c154f69..3c5130a 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -291,6 +291,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
struct argv_array rev_argv = ARGV_ARRAY_INIT;
int i, columns = commit_graph ? 4 : 3;
int must_free_tip = 0;
+ struct strbuf argbuf = STRBUF_INIT;
/* rev_argv.argv[0] will be ignored by setup_revisions */
argv_array_push(&rev_argv, "log_rev_setup");
@@ -304,8 +305,10 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
pattern = xstrdup(pattern);
if (!strcmp(grep, "grep") || !strcmp(grep, "author") ||
!strcmp(grep, "committer")) {
- argv_array_pushf(&rev_argv, "--%s=%s", grep, pattern);
- } else if (!strcmp(grep, "range")) {
+ strbuf_addf(&argbuf, "--%s=%s", grep, pattern);
+ argv_array_push(&rev_argv, argbuf.buf);
+ }
+ if (!strcmp(grep, "range")) {
char *arg;
/* Split the pattern at whitespace and add each token
* as a revision expression. Do not accept other
@@ -324,19 +327,25 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
}
}
if (commit_graph) {
- argv_array_push(&rev_argv, "--graph");
- argv_array_push(&rev_argv, "--color");
+ static const char *graph_arg = "--graph";
+ static const char *color_arg = "--color";
+ argv_array_push(&rev_argv, graph_arg);
+ argv_array_push(&rev_argv, color_arg);
graph_set_column_colors(column_colors_html,
COLUMN_COLORS_HTML_MAX);
}
- if (commit_sort == 1)
- argv_array_push(&rev_argv, "--date-order");
- else if (commit_sort == 2)
- argv_array_push(&rev_argv, "--topo-order");
+ if (commit_sort == 1) {
+ static const char *date_order_arg = "--date-order";
+ argv_array_push(&rev_argv, date_order_arg);
+ } else if (commit_sort == 2) {
+ static const char *topo_order_arg = "--topo-order";
+ argv_array_push(&rev_argv, topo_order_arg);
+ }
if (path) {
- argv_array_push(&rev_argv, "--");
+ static const char *double_dash_arg = "--";
+ argv_array_push(&rev_argv, double_dash_arg);
argv_array_push(&rev_argv, path);
}
@@ -428,4 +437,5 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
/* If we allocated tip then it is safe to cast away const. */
if (must_free_tip)
free((char*) tip);
+ strbuf_release(&argbuf);
}