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.
signature.asc
Description: OpenPGP digital signature

