trailer: pass process_trailer_opts to trailer_info_get()

Most of the trailer code has an "opts" struct which is
filled in by the caller. We don't pass it down to
trailer_info_get(), which does the initial parsing, because
there hasn't yet been a need to do so.

Let's start passing it down in preparation for adding new
options. Note that there's a single caller which doesn't
otherwise have such an options struct. Since it's just one
caller (that we'd have to modify anyway), let's not bother
with any special treatment like accepting a NULL options
struct, and just have it allocate one with the defaults.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2018-08-22 20:46:23 -04:00 committed by Junio C Hamano
parent a3b636e215
commit 00a21f5cbd
3 changed files with 8 additions and 5 deletions

@ -224,11 +224,12 @@ static const char *get_todo_path(const struct replay_opts *opts)
static int has_conforming_footer(struct strbuf *sb, struct strbuf *sob, static int has_conforming_footer(struct strbuf *sb, struct strbuf *sob,
int ignore_footer) int ignore_footer)
{ {
struct process_trailer_options opts = PROCESS_TRAILER_OPTIONS_INIT;
struct trailer_info info; struct trailer_info info;
size_t i; size_t i;
int found_sob = 0, found_sob_last = 0; int found_sob = 0, found_sob_last = 0;
trailer_info_get(&info, sb->buf); trailer_info_get(&info, sb->buf, &opts);
if (info.trailer_start == info.trailer_end) if (info.trailer_start == info.trailer_end)
return 0; return 0;

@ -950,7 +950,7 @@ static size_t process_input_file(FILE *outfile,
struct strbuf val = STRBUF_INIT; struct strbuf val = STRBUF_INIT;
size_t i; size_t i;
trailer_info_get(&info, str); trailer_info_get(&info, str, opts);
/* Print lines before the trailers as is */ /* Print lines before the trailers as is */
if (!opts->only_trailers) if (!opts->only_trailers)
@ -1067,7 +1067,8 @@ void process_trailers(const char *file,
strbuf_release(&sb); strbuf_release(&sb);
} }
void trailer_info_get(struct trailer_info *info, const char *str) void trailer_info_get(struct trailer_info *info, const char *str,
const struct process_trailer_options *opts)
{ {
int patch_start, trailer_end, trailer_start; int patch_start, trailer_end, trailer_start;
struct strbuf **trailer_lines, **ptr; struct strbuf **trailer_lines, **ptr;
@ -1159,7 +1160,7 @@ void format_trailers_from_commit(struct strbuf *out, const char *msg,
{ {
struct trailer_info info; struct trailer_info info;
trailer_info_get(&info, msg); trailer_info_get(&info, msg, opts);
format_trailer_info(out, &info, opts); format_trailer_info(out, &info, opts);
trailer_info_release(&info); trailer_info_release(&info);
} }

@ -77,7 +77,8 @@ void process_trailers(const char *file,
const struct process_trailer_options *opts, const struct process_trailer_options *opts,
struct list_head *new_trailer_head); struct list_head *new_trailer_head);
void trailer_info_get(struct trailer_info *info, const char *str); void trailer_info_get(struct trailer_info *info, const char *str,
const struct process_trailer_options *opts);
void trailer_info_release(struct trailer_info *info); void trailer_info_release(struct trailer_info *info);