Deleted Added
sdiff udiff text old ( 278433 ) new ( 291125 )
full compact
1///////////////////////////////////////////////////////////////////////////////
2//
3/// \file message.c
4/// \brief Printing messages
5//
6// Author: Lasse Collin
7//
8// This file has been put into the public domain.

--- 367 unchanged lines hidden (view full) ---

376 // Use big enough buffer to hold e.g. a multibyte decimal point.
377 static char buf[16];
378 snprintf(buf, sizeof(buf), "%.*f %s",
379 speed > 9.9 ? 0 : 1, speed, unit[unit_index]);
380 return buf;
381}
382
383
384/// Make a string indicating elapsed time. The format is either
385/// M:SS or H:MM:SS depending on if the time is an hour or more.
386static const char *
387progress_time(uint64_t mseconds)
388{
389 // 9999 hours = 416 days
390 static char buf[sizeof("9999:59:59")];
391
392 // 32-bit variable is enough for elapsed time (136 years).
393 uint32_t seconds = (uint32_t)(mseconds / 1000);
394
395 // Don't show anything if the time is zero or ridiculously big.
396 if (seconds == 0 || seconds > ((9999 * 60) + 59) * 60 + 59)
397 return "";
398
399 uint32_t minutes = seconds / 60;
400 seconds %= 60;
401

--- 857 unchanged lines hidden ---