git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2] count-objects: add human-readable size option

From
Petr Baudis <pasky@suse.cz>
Date
Aug 14, 2008, 15:14 UTC
Message-ID
<20080814151451.GA10544@machine.or.cz>
In-Reply-To
<1218687684-11671-1-git-send-email-marcus@griep.us>
On Thu, Aug 14, 2008 at 12:21:24AM -0400, Marcus Griep wrote:
Show 16 quoted lines
> +void human_readable_size(char *buf, int buf_size, double size /* in bytes */)
> +{
> +	char human_readable_prefixes[10] = "BKMGTPEZY";
> +	if (buf_size < 5)
> +		die("insufficient buffer size");
> +	int i = 0;
> +	for (; i < 8 && size >= 1000 ; ++i, size = size / 1024)
> +		;
> +	if (size >= 1000)
> +		die("size greater than 999Y");
> +	sprintf(buf, "%.*f%c",
> +		size < 10 ? 1 : 0,
> +		size,
> +		human_readable_prefixes[i]
> +		);
> +}

Are you aware of progress.c:throughput_string()? It would make sense to use the same code in both instances.

I'd prefer you to keep using binary units instead of the ambiguous prefixes, since we should keep our output consistent and I believe they usually end up to be the least confusing choice. (Otherwise, don't you want to use "bkM" instead of "BKM"? I never really know.)

-- 
				Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC.  -- Bill Gates
Previous: Marcus GriepNext: Marcus Griep
Message 15 of 18 in “count-objects: Add total pack size to verbose output”
  1. count-objects: Add total pack size to verbose outputMarcus Griep, Aug 13, 2008
  2. count-objects: add human-readable size optionMarcus Griep, Aug 14, 2008
  3. Shawn O. PearceAug 14, 2008
  4. Marcus GriepAug 14, 2008
  5. Junio C HamanoAug 14, 2008
  6. Johannes SchindelinAug 14, 2008
  7. Marcus GriepAug 14, 2008
  8. Alex RiesenAug 14, 2008
  9. Marcus GriepAug 14, 2008
  10. Alex RiesenAug 14, 2008
  11. Pierre HabouzitAug 15, 2008
  12. Alex RiesenAug 18, 2008
  13. Johannes SixtAug 14, 2008
  14. Marcus GriepAug 14, 2008
  15. Petr BaudisAug 14, 2008
  16. Marcus GriepAug 14, 2008
  17. Petr BaudisAug 14, 2008
  18. Marcus GriepAug 14, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.