From a205b87fa241ebe165da059617007c9263f33d2e Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 25 Sep 2009 12:19:37 +0200 Subject: make copy_file() globally available Signed-off-by: Sascha Hauer --- commands/cp.c | 59 ++--------------------------------------------------------- 1 file changed, 2 insertions(+), 57 deletions(-) (limited to 'commands/cp.c') diff --git a/commands/cp.c b/commands/cp.c index af03615f5d..0a90c163b0 100644 --- a/commands/cp.c +++ b/commands/cp.c @@ -26,66 +26,11 @@ */ #include #include -#include -#include -#include -#include #include #include #include - -#define RW_BUF_SIZE (ulong)4096 - -/** - * @param[in] src FIXME - * @param[out] dst FIXME - */ -static int copy_file(const char *src, const char *dst) -{ - char *rw_buf = NULL; - int srcfd = 0, dstfd = 0; - int r, w; - int ret = 1; - - rw_buf = xmalloc(RW_BUF_SIZE); - - srcfd = open(src, O_RDONLY); - if (srcfd < 0) { - printf("could not open %s: %s\n", src, errno_str()); - goto out; - } - - dstfd = open(dst, O_WRONLY | O_CREAT); - if (dstfd < 0) { - printf("could not open %s: %s\n", dst, errno_str()); - goto out; - } - - while(1) { - r = read(srcfd, rw_buf, RW_BUF_SIZE); - if (r < 0) { - perror("read"); - goto out; - } - if (!r) - break; - w = write(dstfd, rw_buf, r); - if (w < 0) { - perror("write"); - goto out; - } - } - - ret = 0; -out: - free(rw_buf); - if (srcfd > 0) - close(srcfd); - if (dstfd > 0) - close(dstfd); - - return ret; -} +#include +#include /** * @param[in] cmdtp FIXME -- cgit v1.2.3