diff options
Diffstat (limited to 'commands')
-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; |