On 08/12/2013 10:32 AM, Stefan Beller wrote:
> 
> diff --git a/diff.c b/diff.c
> index e53ddad..de21971 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -2254,8 +2254,11 @@ static void builtin_diff(const char *name_a,
>                       (!two->mode || S_ISGITLINK(two->mode))) {
>               const char *del = diff_get_color_opt(o, DIFF_FILE_OLD);
>               const char *add = diff_get_color_opt(o, DIFF_FILE_NEW);
> -             show_submodule_summary(o->file, one ? one->path : two->path,
> -                             line_prefix,
> +             struct diff_filespec *spec = one && DIFF_FILE_VALID(one) ? one 
> : two;
> +             if (!spec && !DIFF_FILE_VALID(spec))
> +                     die("BUG: two invalid diff_filespec structs in diff");
> +
> +             show_submodule_summary(o->file, spec->path, line_prefix,
>                               one->sha1, two->sha1, two->dirty_submodule,
>                               meta, del, add, reset);
>               return;

This doesn't make sense, as we're definitely dereferencing both 
one and two with ->sha1, so we do not need the "one &&" and the 
"!spec &&". 
I think the originally sent patches are correct, but the commit 
message may need rewriting to comply with Jeffs nitpicking.



Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to