summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2018-07-24 10:52:29 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-07-24 17:19:29 (GMT)
commit7726d360b5ba859ae2b6ceefc5d88cc518c78063 (patch)
tree86180df101254604e2ed305b3a3a541e4ac9523d
parent765b496dc6963ad8aaf40e9ac5dee358aa7fea47 (diff)
downloadgit-7726d360b5ba859ae2b6ceefc5d88cc518c78063.zip
git-7726d360b5ba859ae2b6ceefc5d88cc518c78063.tar.gz
git-7726d360b5ba859ae2b6ceefc5d88cc518c78063.tar.bz2
strbuf_humanise: use unsigned variables
All of the numeric formatting done by this function uses "%u", but we pass in a signed "int". The actual range doesn't matter here, since the conditional makes sure we're always showing reasonably small numbers. And even gcc's format-checker does not seem to mind. But it's potentially confusing to a reader of the code to see the mismatch. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--strbuf.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/strbuf.c b/strbuf.c
index db9069c..54f29bb 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -734,18 +734,18 @@ void strbuf_humanise_bytes(struct strbuf *buf, off_t bytes)
{
if (bytes > 1 << 30) {
strbuf_addf(buf, "%u.%2.2u GiB",
- (int)(bytes >> 30),
- (int)(bytes & ((1 << 30) - 1)) / 10737419);
+ (unsigned)(bytes >> 30),
+ (unsigned)(bytes & ((1 << 30) - 1)) / 10737419);
} else if (bytes > 1 << 20) {
- int x = bytes + 5243; /* for rounding */
+ unsigned x = bytes + 5243; /* for rounding */
strbuf_addf(buf, "%u.%2.2u MiB",
x >> 20, ((x & ((1 << 20) - 1)) * 100) >> 20);
} else if (bytes > 1 << 10) {
- int x = bytes + 5; /* for rounding */
+ unsigned x = bytes + 5; /* for rounding */
strbuf_addf(buf, "%u.%2.2u KiB",
x >> 10, ((x & ((1 << 10) - 1)) * 100) >> 10);
} else {
- strbuf_addf(buf, "%u bytes", (int)bytes);
+ strbuf_addf(buf, "%u bytes", (unsigned)bytes);
}
}