From c068bcc59b4f16322a77b6a47b53d44b05c51fec Mon Sep 17 00:00:00 2001 From: Rohit Ashiwal Date: Fri, 1 Nov 2019 19:29:59 +0530 Subject: [PATCH] sequencer: allow callers of read_author_script() to ignore fields The current callers of the read_author_script() function read name, email and date from the author script. Allow callers to signal that they are not interested in some among these three fields by passing NULL. Note that fields that are ignored still must exist and be formatted correctly in the author script. Signed-off-by: Rohit Ashiwal Signed-off-by: Junio C Hamano --- sequencer.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/sequencer.c b/sequencer.c index 2adcf5a639..b759c940f8 100644 --- a/sequencer.c +++ b/sequencer.c @@ -824,9 +824,19 @@ int read_author_script(const char *path, char **name, char **email, char **date, error(_("missing 'GIT_AUTHOR_DATE'")); if (date_i < 0 || email_i < 0 || date_i < 0 || err) goto finish; - *name = kv.items[name_i].util; - *email = kv.items[email_i].util; - *date = kv.items[date_i].util; + + if (name) + *name = kv.items[name_i].util; + else + free(kv.items[name_i].util); + if (email) + *email = kv.items[email_i].util; + else + free(kv.items[email_i].util); + if (date) + *date = kv.items[date_i].util; + else + free(kv.items[date_i].util); retval = 0; finish: string_list_clear(&kv, !!retval);