On Tue, Apr 16, 2024 at 02:34:24PM +0200, Andrey Albershteyn wrote: > @@ -273,7 +273,7 @@ progress_rpt_thread (void *p) > _("\t- %02d:%02d:%02d: Phase %d: %" PRIu64 "%% done - estimated remaining time %s\n"), > tmp->tm_hour, tmp->tm_min, tmp->tm_sec, > current_phase, percent, > - duration((int) ((*msgp->total - sum) * (elapsed)/sum), msgbuf)); > + duration((time_t) ((*msgp->total - sum) * (elapsed)/sum), msgbuf)); What is the point of the time_t cast the gets applied to the final calculated expression? Even if time_t is wieder than what it was, it would only extent it after we've overlflow the original type. The whole thing also just is formatted and filled with useles braces to make it look really odd. Something like: current_phase, percent, duration((*msgp->total - sum) * elapsed / sum, msgbuf)); would be way more readable.