diff options
Diffstat (limited to 'progress.c')
| -rw-r--r-- | progress.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/progress.c b/progress.c index 3eda914518..680c6a8bf9 100644 --- a/progress.c +++ b/progress.c @@ -196,7 +196,7 @@ void display_throughput(struct progress *progress, uint64_t total) now_ns = progress_getnanotime(progress); if (!tp) { - progress->throughput = tp = xcalloc(1, sizeof(*tp)); + progress->throughput = CALLOC_ARRAY(tp, 1); tp->prev_total = tp->curr_total = total; tp->prev_ns = now_ns; strbuf_init(&tp->display, 0); @@ -319,9 +319,12 @@ static void finish_if_sparse(struct progress *progress) void stop_progress(struct progress **p_progress) { + if (!p_progress) + BUG("don't provide NULL to stop_progress"); + finish_if_sparse(*p_progress); - if (p_progress && *p_progress) { + if (*p_progress) { trace2_data_intmax("progress", the_repository, "total_objects", (*p_progress)->total); @@ -338,7 +341,12 @@ void stop_progress(struct progress **p_progress) void stop_progress_msg(struct progress **p_progress, const char *msg) { - struct progress *progress = *p_progress; + struct progress *progress; + + if (!p_progress) + BUG("don't provide NULL to stop_progress_msg"); + + progress = *p_progress; if (!progress) return; *p_progress = NULL; |
