aboutsummaryrefslogtreecommitdiff
path: root/builtin-shortlog.c
diff options
context:
space:
mode:
authorThomas Rast <trast@student.ethz.ch>2009-10-19 17:48:08 +0200
committerJunio C Hamano <gitster@pobox.com>2009-10-19 22:28:20 -0700
commitdd2e794a214350711db46c4e08d9b19188a7d63a (patch)
treed9566af4d6b5eac1ba0fa0f1e6e3a3b08d56b858 /builtin-shortlog.c
parent9ecb2a7f496413b9a6404e4a19f7edee029819b8 (diff)
downloadgit-dd2e794a214350711db46c4e08d9b19188a7d63a.tar.gz
git-dd2e794a214350711db46c4e08d9b19188a7d63a.tar.xz
Refactor pretty_print_commit arguments into a struct
pretty_print_commit() has a bunch of rarely-used arguments, and introducing more of them requires yet another update of all the call sites. Refactor most of them into a struct to make future extensions easier. The ones that stay "plain" arguments were chosen on the grounds that all callers put real arguments there, whereas some callers have 0/NULL for all arguments that were factored into the struct. We declare the struct 'const' to ensure none of the callers are bitten by the changed (no longer call-by-value) semantics. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-shortlog.c')
-rw-r--r--builtin-shortlog.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/builtin-shortlog.c b/builtin-shortlog.c
index 4d4a3c82d..8aa63c785 100644
--- a/builtin-shortlog.c
+++ b/builtin-shortlog.c
@@ -158,9 +158,12 @@ void shortlog_add_commit(struct shortlog *log, struct commit *commit)
sha1_to_hex(commit->object.sha1));
if (log->user_format) {
struct strbuf buf = STRBUF_INIT;
-
- pretty_print_commit(CMIT_FMT_USERFORMAT, commit, &buf,
- DEFAULT_ABBREV, "", "", DATE_NORMAL, 0);
+ struct pretty_print_context ctx = {0};
+ ctx.abbrev = DEFAULT_ABBREV;
+ ctx.subject = "";
+ ctx.after_subject = "";
+ ctx.date_mode = DATE_NORMAL;
+ pretty_print_commit(CMIT_FMT_USERFORMAT, commit, &buf, &ctx);
insert_one_record(log, author, buf.buf);
strbuf_release(&buf);
return;