progress.c: use dereferenced "progress" variable, not "(*p_progress)"

Since 98a13647408 (trace2: log progress time and throughput, 2020-05-12) stop_progress() dereferences a "struct progress **" parameter in several places. Extract a dereferenced variable to reduce clutter and make it clearer who needs to write to this parameter. Now instead of using "*p_progress" several times in stop_progress() we check it once for NULL and then use a dereferenced "progress" variable thereafter. This uses the same pattern as the adjacent stop_progress_msg() function, see ac900fddb7f (progress: don't dereference before checking for NULL, 2020-08-10). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Feb 3, 2022 at 22:40 UTC 1ccad6a1f175080c3896a70501dcd6c9e0a0af0a
1 file changed +9 -6
progress.c
+9 -6
@@ -319,21 +319,24 @@ static void finish_if_sparse(struct progress *progress)
319
320 void stop_progress(struct progress **p_progress)
321 {
322 + struct progress *progress;
323 +
324 if (!p_progress)
325 BUG("don't provide NULL to stop_progress");
326 + progress = *p_progress;
327
325 - finish_if_sparse(*p_progress);
328 + finish_if_sparse(progress);
329
327 - if (*p_progress) {
330 + if (progress) {
331 trace2_data_intmax("progress", the_repository, "total_objects",
329 - (*p_progress)->total);
332 + progress->total);
333
331 - if ((*p_progress)->throughput)
334 + if (progress->throughput)
335 trace2_data_intmax("progress", the_repository,
336 "total_bytes",
334 - (*p_progress)->throughput->curr_total);
337 + progress->throughput->curr_total);
338
336 - trace2_region_leave("progress", (*p_progress)->title, the_repository);
339 + trace2_region_leave("progress", progress->title, the_repository);
340 }
341
342 stop_progress_msg(p_progress, _("done"));