From db8317e9835a860ed49308bf8be0b919371d1faa Mon Sep 17 00:00:00 2001 From: le Date: Wed, 19 May 2004 11:07:30 +0000 Subject: Fix integer overflow in the file size output when dealing with large files (i.e. DVD images). Reviewed by: des@ --- usr.bin/fetch/fetch.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'usr.bin/fetch') diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 051b895..931a8ea 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -148,7 +148,7 @@ stat_eta(struct xferstat *xs) */ static const char *prefixes = " kMGTP"; static const char * -stat_bytes(size_t bytes) +stat_bytes(off_t bytes) { static char str[16]; const char *prefix = prefixes; @@ -157,7 +157,7 @@ stat_bytes(size_t bytes) bytes /= 1024; prefix++; } - snprintf(str, sizeof str, "%4zu %cB", bytes, *prefix); + snprintf(str, sizeof str, "%4jd %cB", (intmax_t)bytes, *prefix); return (str); } @@ -176,7 +176,7 @@ stat_bps(struct xferstat *xs) snprintf(str, sizeof str, "?? Bps"); } else { bps = (xs->rcvd - xs->offset) / delta; - snprintf(str, sizeof str, "%sps", stat_bytes((size_t)bps)); + snprintf(str, sizeof str, "%sps", stat_bytes((off_t)bps)); } return (str); } -- cgit v1.1