]> git.ipfire.org Git - thirdparty/git.git/commitdiff
sequencer: allow callers of read_author_script() to ignore fields
authorRohit Ashiwal <rohit.ashiwal265@gmail.com>
Fri, 1 Nov 2019 13:59:59 +0000 (19:29 +0530)
committerJunio C Hamano <gitster@pobox.com>
Sat, 2 Nov 2019 06:34:50 +0000 (15:34 +0900)
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 <rohit.ashiwal265@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sequencer.c

index 2adcf5a639c3a7d0154f07cf07f420f5d4f54007..b759c940f856f2daed6146a66c30328bbfb65ca7 100644 (file)
@@ -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);