diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-03-12 00:30:48 -0700 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-03-13 09:41:11 +0100 |
commit | b6bdaf7a4ff3c7b0a89e5c3a5a59ce85894d109c (patch) | |
tree | 0da2019fb76ee2538c3537335162602fde4dd504 | |
parent | a54a87cfe15b5c3b7c61ea1cc7089050a9e7c63a (diff) | |
download | barebox-b6bdaf7a4ff3c7b0a89e5c3a5a59ce85894d109c.tar.gz barebox-b6bdaf7a4ff3c7b0a89e5c3a5a59ce85894d109c.tar.xz |
commands: memcpy: Make use of write_full()
Change memcpy to rely on write_full() instead of re-implementing it
locally.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | commands/memcpy.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/commands/memcpy.c b/commands/memcpy.c index ddaf767eac..803f06e574 100644 --- a/commands/memcpy.c +++ b/commands/memcpy.c @@ -84,7 +84,7 @@ static int do_memcpy(int argc, char *argv[]) buf = xmalloc(RW_BUF_SIZE); while (count > 0) { - int now, r, w, tmp; + int now, r; now = min((loff_t)RW_BUF_SIZE, count); @@ -97,19 +97,9 @@ static int do_memcpy(int argc, char *argv[]) if (!r) break; - tmp = 0; - now = r; - while (now) { - w = write(destfd, buf + tmp, now); - if (w < 0) { - perror("write"); - goto out; - } - if (!w) - break; - - now -= w; - tmp += w; + if (write_full(destfd, buf, r) < 0) { + perror("write"); + goto out; } count -= r; |