diff options
| author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-02-10 21:44:14 +0100 | 
|---|---|---|
| committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-02-10 21:52:09 +0100 | 
| commit | 13a0c1b05a4b175f13decf3b15567dc71ea043ac (patch) | |
| tree | e7d551fd43f69d828c58eb2b9e6d74254bafff10 /unpack | |
| parent | 060970feee2beea37e837e0a2d557e878e5f8290 (diff) | |
Cleanup statistics print out
 - Give a rounded input/output byte count.
 - Seperate groups by new lines.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'unpack')
| -rw-r--r-- | unpack/list_files.c | 25 | 
1 files changed, 4 insertions, 21 deletions
| diff --git a/unpack/list_files.c b/unpack/list_files.c index c08c2dd..238ffec 100644 --- a/unpack/list_files.c +++ b/unpack/list_files.c @@ -64,40 +64,23 @@ static int count_int_chars(unsigned int i)  	return count;  } -static void print_size(sqfs_u64 size, char *buffer) -{ -	static const char *suffices = "kMGTPEZY"; -	int suffix = -1; - -	while (size > 1024) { -		++suffix; -		size /= 1024; -	} - -	if (suffix >= 0) { -		sprintf(buffer, "%u%c", (unsigned int)size, suffices[suffix]); -	} else { -		sprintf(buffer, "%u", (unsigned int)size); -	} -} -  static void print_node_size(const sqfs_tree_node_t *n, char *buffer)  {  	switch (n->inode->base.mode & S_IFMT) {  	case S_IFLNK: -		print_size(strlen((const char *)n->inode->extra), buffer); +		print_size(strlen((const char *)n->inode->extra), buffer, true);  		break;  	case S_IFREG: {  		sqfs_u64 size;  		sqfs_inode_get_file_size(n->inode, &size); -		print_size(size, buffer); +		print_size(size, buffer, true);  		break;  	}  	case S_IFDIR:  		if (n->inode->base.type == SQFS_INODE_EXT_DIR) { -			print_size(n->inode->data.dir_ext.size, buffer); +			print_size(n->inode->data.dir_ext.size, buffer, true);  		} else { -			print_size(n->inode->data.dir.size, buffer); +			print_size(n->inode->data.dir.size, buffer, true);  		}  		break;  	case S_IFBLK: | 
