summaryrefslogtreecommitdiffstats
path: root/progressmeter.c
diff options
context:
space:
mode:
authorTim Rice <tim@multitalents.net>2003-01-19 20:15:13 -0800
committerTim Rice <tim@multitalents.net>2003-01-19 20:15:13 -0800
commit4ea542b41a5d677c3c91b883c935c1930a5bede4 (patch)
tree818749753d7014512f9a1657e6050224fa509db0 /progressmeter.c
parent140344b8097ccf596b40131c1b22bef8139631f4 (diff)
[progressmeter.c] make compilers without long long happy.
Diffstat (limited to 'progressmeter.c')
-rw-r--r--progressmeter.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/progressmeter.c b/progressmeter.c
index e7380a8f..948d361d 100644
--- a/progressmeter.c
+++ b/progressmeter.c
@@ -203,6 +203,7 @@ draw_progress_meter()
nspaces = MIN(get_tty_width() - 79, sizeof(spaces) - 1);
+#ifdef HAVE_LONG_LONG_INT
snprintf(buf, sizeof(buf),
"\r%-45.45s%.*s%3d%% %4lld%c%c %3lld.%01d%cB/s",
curfile,
@@ -216,6 +217,22 @@ draw_progress_meter()
(int)((bytespersec % 1024) * 10 / 1024),
prefixes[bi]
);
+#else
+ /* XXX: Handle integer overflow? */
+ snprintf(buf, sizeof(buf),
+ "\r%-45.45s%.*s%3d%% %4lu%c%c %3lu.%01d%cB/s",
+ curfile,
+ nspaces,
+ spaces,
+ ratio,
+ (u_long)abbrevsize,
+ prefixes[ai],
+ ai == 0 ? ' ' : 'B',
+ (u_long)(bytespersec / 1024),
+ (int)((bytespersec % 1024) * 10 / 1024),
+ prefixes[bi]
+ );
+#endif
if (cursize <= 0 || elapsed <= 0.0 || cursize > totalbytes) {
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),