From: "Shawn O. Pearce" <spearce@spearce.org>
To: Marcus Griep <marcus@griep.us>
Cc: Git Mailing List <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 2] count-objects: add human-readable size option
Date: Wed, 13 Aug 2008 21:38:17 -0700 [thread overview]
Message-ID: <20080814043817.GC11232@spearce.org> (raw)
In-Reply-To: <1218687684-11671-1-git-send-email-marcus@griep.us>
Marcus Griep <marcus@griep.us> wrote:
> diff --git a/Documentation/git-count-objects.txt b/Documentation/git-count-objects.txt
> index 75a8da1..291bc5e 100644
> --- a/Documentation/git-count-objects.txt
> +++ b/Documentation/git-count-objects.txt
> +++ b/builtin-count-objects.c
...
> +void human_readable_size(char *buf, int buf_size, double size /* in bytes */)
Hmm. This probably should be static. Or if it really is meant
to be a utility for use elsewhere in Git, moved to someplace where
string handling is done. Its not strbuf related, but maybe strbuf.c
is a better location for this sort of library function.
If you do move this to strbuf.c, how about having it take a strbuf
in and appending the formatted text onto it? You'll neer have to
worry about the buffer being too small and it fits into the whole
strbuf.c module thing.
If you keep this static here in builtin-count-objects.c, how about
making the char *buf static scoped to the function, so you don't
need to pass the buffer, its size, nor check its size?
> +{
> + char human_readable_prefixes[10] = "BKMGTPEZY";
> + if (buf_size < 5)
> + die("insufficient buffer size");
> + int i = 0;
We don't declare variables after statements. Please declare all
variables at the start of the block as not all compilers we support
support this C99 syntax.
Oh, and welcome to Git. I saw your SVN patches. Glad to see
you hacking. ;-)
> + 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]
> + );
> +}
> +
--
Shawn.
next prev parent reply other threads:[~2008-08-14 4:39 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-13 20:05 [PATCH] count-objects: Add total pack size to verbose output Marcus Griep
2008-08-14 4:21 ` [PATCH 2] count-objects: add human-readable size option Marcus Griep
2008-08-14 4:38 ` Shawn O. Pearce [this message]
2008-08-14 4:44 ` Marcus Griep
2008-08-14 5:22 ` Junio C Hamano
2008-08-14 14:05 ` Johannes Schindelin
2008-08-14 14:26 ` Marcus Griep
2008-08-14 6:45 ` Alex Riesen
2008-08-14 14:03 ` Marcus Griep
2008-08-14 18:51 ` Alex Riesen
2008-08-15 9:22 ` Pierre Habouzit
2008-08-18 17:28 ` Alex Riesen
2008-08-14 7:39 ` Johannes Sixt
2008-08-14 14:09 ` Marcus Griep
2008-08-14 15:14 ` Petr Baudis
2008-08-14 16:26 ` Marcus Griep
2008-08-14 16:34 ` Petr Baudis
2008-08-14 16:42 ` Marcus Griep
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080814043817.GC11232@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=marcus@griep.us \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).