On 14/5/20 4:43 am, Dave Reisner wrote: > When building with -DNDEBUG, assert statements are compiled out to > no-ops. Thus, we can't depend on assignments or other computations > occurring inside the assert(). > ---
Thanks. > It's perhaps worth mentioning that nowhere else in the ALPM codebase > do we use assert(). Yes - but we really don't have a way to pass back from our callback to libalpm. So I am happy with the "shit hit the fan" approach until that changes. > src/pacman/callback.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/pacman/callback.c b/src/pacman/callback.c > index 25909e02..4240a779 100644 > --- a/src/pacman/callback.c > +++ b/src/pacman/callback.c > @@ -862,12 +862,14 @@ static void dload_progress_event(const char *filename, > alpm_download_event_progr > int64_t curr_time = get_time_ms(); > double last_chunk_rate; > int64_t timediff; > + bool ok; > > if(!dload_progressbar_enabled()) { > return; > } > > - assert(find_bar_for_filename(filename, &index, &bar)); > + ok = find_bar_for_filename(filename, &index, &bar); > + assert(ok); > > /* compute current average values */ > timediff = curr_time - bar->sync_time; > @@ -902,12 +904,14 @@ static void dload_complete_event(const char *filename, > alpm_download_event_compl > int index; > struct pacman_progress_bar *bar; > int64_t timediff; > + bool ok; > > if(!dload_progressbar_enabled()) { > return; > } > > - assert(find_bar_for_filename(filename, &index, &bar)); > + ok = find_bar_for_filename(filename, &index, &bar); > + assert(ok); > bar->completed = true; > > /* This may not have been initialized if the download finished before >