Change memcpy to rely on write_full() instead of re-implementing it
locally.

Signed-off-by: Andrey Smirnov <[email protected]>
---
 commands/memcpy.c | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/commands/memcpy.c b/commands/memcpy.c
index ddaf767ea..803f06e57 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;
-- 
2.20.1


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to