diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | progressmeter.c | 17 |
2 files changed, 19 insertions, 1 deletions
@@ -1,5 +1,6 @@ | |||
1 | 20030120 | 1 | 20030120 |
2 | - (djm) Fix compilation for NetBSD from dtucker@zip.com.au | 2 | - (djm) Fix compilation for NetBSD from dtucker@zip.com.au |
3 | - (tim) [progressmeter.c] make compilers without long long happy. | ||
3 | 4 | ||
4 | 20030118 | 5 | 20030118 |
5 | - (djm) Revert fix for Bug #442 for now. | 6 | - (djm) Revert fix for Bug #442 for now. |
@@ -1037,4 +1038,4 @@ | |||
1037 | save auth method before monitor_reset_key_state(); bugzilla bug #284; | 1038 | save auth method before monitor_reset_key_state(); bugzilla bug #284; |
1038 | ok provos@ | 1039 | ok provos@ |
1039 | 1040 | ||
1040 | $Id: ChangeLog,v 1.2576 2003/01/20 02:15:10 djm Exp $ | 1041 | $Id: ChangeLog,v 1.2577 2003/01/20 04:15:13 tim Exp $ |
diff --git a/progressmeter.c b/progressmeter.c index e7380a8ff..948d361d2 100644 --- a/progressmeter.c +++ b/progressmeter.c | |||
@@ -203,6 +203,7 @@ draw_progress_meter() | |||
203 | 203 | ||
204 | nspaces = MIN(get_tty_width() - 79, sizeof(spaces) - 1); | 204 | nspaces = MIN(get_tty_width() - 79, sizeof(spaces) - 1); |
205 | 205 | ||
206 | #ifdef HAVE_LONG_LONG_INT | ||
206 | snprintf(buf, sizeof(buf), | 207 | snprintf(buf, sizeof(buf), |
207 | "\r%-45.45s%.*s%3d%% %4lld%c%c %3lld.%01d%cB/s", | 208 | "\r%-45.45s%.*s%3d%% %4lld%c%c %3lld.%01d%cB/s", |
208 | curfile, | 209 | curfile, |
@@ -216,6 +217,22 @@ draw_progress_meter() | |||
216 | (int)((bytespersec % 1024) * 10 / 1024), | 217 | (int)((bytespersec % 1024) * 10 / 1024), |
217 | prefixes[bi] | 218 | prefixes[bi] |
218 | ); | 219 | ); |
220 | #else | ||
221 | /* XXX: Handle integer overflow? */ | ||
222 | snprintf(buf, sizeof(buf), | ||
223 | "\r%-45.45s%.*s%3d%% %4lu%c%c %3lu.%01d%cB/s", | ||
224 | curfile, | ||
225 | nspaces, | ||
226 | spaces, | ||
227 | ratio, | ||
228 | (u_long)abbrevsize, | ||
229 | prefixes[ai], | ||
230 | ai == 0 ? ' ' : 'B', | ||
231 | (u_long)(bytespersec / 1024), | ||
232 | (int)((bytespersec % 1024) * 10 / 1024), | ||
233 | prefixes[bi] | ||
234 | ); | ||
235 | #endif | ||
219 | 236 | ||
220 | if (cursize <= 0 || elapsed <= 0.0 || cursize > totalbytes) { | 237 | if (cursize <= 0 || elapsed <= 0.0 || cursize > totalbytes) { |
221 | snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), | 238 | snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), |