[PATCH 5/5] copy_file: limit progress bar to sensible limits
Sascha Hauer
s.hauer at pengutronix.de
Sun Feb 19 12:58:08 EST 2012
When copying in verbose mode from a tftp server we might
not know the size of the file being transfered. In this
case print one progress item per 16k instead of one for
each single byte.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
lib/copy_file.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/copy_file.c b/lib/copy_file.c
index 967806c..484b2ca 100644
--- a/lib/copy_file.c
+++ b/lib/copy_file.c
@@ -21,6 +21,7 @@ int copy_file(const char *src, const char *dst, int verbose)
int ret = 1;
void *buf;
int total = 0;
+ struct stat statbuf;
rw_buf = xmalloc(RW_BUF_SIZE);
@@ -37,8 +38,6 @@ int copy_file(const char *src, const char *dst, int verbose)
}
if (verbose) {
- struct stat statbuf;
-
if (stat(src, &statbuf) < 0)
statbuf.st_size = 0;
@@ -67,7 +66,7 @@ int copy_file(const char *src, const char *dst, int verbose)
}
if (verbose)
- show_progress(total);
+ show_progress(statbuf.st_size ? total : total / 16384);
}
ret = 0;
--
1.7.9
More information about the barebox
mailing list