On Wed, 9 Aug 2017 08:24:03 -0400
Jeff King <p...@peff.net> wrote:

> diff --git a/trailer.c b/trailer.c
> index 0a0c2c264d..a4ff99f98a 100644
> --- a/trailer.c
> +++ b/trailer.c
> @@ -164,13 +164,15 @@ static void print_tok_val(FILE *outfile, const char 
> *tok, const char *val)
>               fprintf(outfile, "%s%c %s\n", tok, separators[0], val);
>  }
>  
> -static void print_all(FILE *outfile, struct list_head *head, int trim_empty)
> +static void print_all(FILE *outfile, struct list_head *head,
> +                   struct process_trailer_options *opts)

This can be const, I think. (Same thing for patch 1.)

>  {
>       struct list_head *pos;
>       struct trailer_item *item;
>       list_for_each(pos, head) {
>               item = list_entry(pos, struct trailer_item, list);
> -             if (!trim_empty || strlen(item->value) > 0)
> +             if ((!opts->trim_empty || strlen(item->value) > 0) &&
> +                 (!opts->only_trailers || item->token))
>                       print_tok_val(outfile, item->token, item->value);
>       }
>  }
> @@ -897,9 +899,10 @@ static int process_input_file(FILE *outfile,
>       trailer_info_get(&info, str);
>  
>       /* Print lines before the trailers as is */
> -     fwrite(str, 1, info.trailer_start - str, outfile);
> +     if (outfile)

Any reason why you expect outfile to possibly be NULL?

> +             fwrite(str, 1, info.trailer_start - str, outfile);
>  
> -     if (!info.blank_line_before_trailer)
> +     if (outfile && !info.blank_line_before_trailer)

Same comment here.

>               fprintf(outfile, "\n");
>  
>       for (i = 0; i < info.trailer_nr; i++) {

Reply via email to