On Fri, Oct 21, 2016 at 09:39:45PM -0700, Junio C Hamano wrote:
> And this is the final one.
>
> -- >8 --
> From: Junio C Hamano <[email protected]>
> Date: Fri, 21 Oct 2016 21:33:06 -0700
> Subject: [PATCH] transport: compute summary-width dynamically
>
> Now all that is left to do is to actually iterate over the refs
> and measure the display width needed to show their abbreviation.
I think we crossed emails. :) This is obviously correct, if we don't
mind paying the find_unique_abbrev cost twice for each sha1.
> int transport_summary_width(const struct ref *refs)
> {
> - return (2 * FALLBACK_DEFAULT_ABBREV + 3);
> + int maxw;
> +
> + for (maxw = -1; refs; refs = refs->next) {
> + maxw = measure_abbrev(&refs->old_oid, maxw);
> + maxw = measure_abbrev(&refs->new_oid, maxw);
> + }
This is a minor style nit, but I think it's better to avoid mixing
unrelated bits between the initialization, condition, and iteration bits
of a for loop. IOW:
int maxw = -1;
for (; refs; refs = refs->next) {
...
}
makes the for-loop _just_ about iteration, and it is more clear that the
manipulation of "maxw" is a side effect of the loop that is valid after
it finishes.
Though in this particular case, the loop and the whole function are
short enough that I don't care that much. Just raising a philosophical
point. :)
-Peff