From 8ed29fd28f023bd9e128b7ac4abdb02a201f602e Mon Sep 17 00:00:00 2001 From: Andrey Nazarov Date: Fri, 1 Oct 2010 19:33:23 +0400 Subject: Renamed COM_FormatFileSize into Com_FormatSize, added longer variant. --- src/common.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/common.c') diff --git a/src/common.c b/src/common.c index 048af5b..e4990f1 100644 --- a/src/common.c +++ b/src/common.c @@ -1336,6 +1336,26 @@ size_t Com_TimeDiffLong( char *buffer, size_t size, time_t *p, time_t now ) { return Com_FormatTimeLong( buffer, size, diff ); } +size_t Com_FormatSize( char *dest, size_t bytes, size_t size ) { + if( bytes >= 1000000 ) { + return Q_scnprintf( dest, size, "%2.1fM", ( float )bytes / 1000000 ); + } + if( bytes >= 1000 ) { + return Q_scnprintf( dest, size, "%3"PRIz"K", bytes / 1000 ); + } + return Q_scnprintf( dest, size, "%3"PRIz, bytes ); +} + +size_t Com_FormatSizeLong( char *dest, size_t bytes, size_t size ) { + if( bytes >= 1000000 ) { + return Q_scnprintf( dest, size, "%2.1f MB", ( float )bytes / 1000000 ); + } + if( bytes >= 1000 ) { + return Q_scnprintf( dest, size, "%3"PRIz" KB", bytes / 1000 ); + } + return Q_scnprintf( dest, size, "%3"PRIz" byte%s", bytes, bytes == 1 ? "" : "s" ); +} + /* ============================================================================== -- cgit v1.2.3