We can figure out the amount of written data by substracting 'insize'
from 'size' so there is no need to keep a separate counter for that.

Signed-off-by: Andrey Smirnov <[email protected]>
---
 lib/libfile.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/lib/libfile.c b/lib/libfile.c
index eb12d158d..814cd9c2c 100644
--- a/lib/libfile.c
+++ b/lib/libfile.c
@@ -80,20 +80,18 @@ int read_full(int fd, void *buf, size_t size)
 {
        size_t insize = size;
        int now;
-       int total = 0;
 
        while (size) {
                now = read(fd, buf, size);
                if (now == 0)
-                       return total;
+                       break;
                if (now < 0)
                        return now;
-               total += now;
                size -= now;
                buf += now;
        }
 
-       return insize;
+       return insize - size;
 }
 EXPORT_SYMBOL(read_full);
 
-- 
2.21.0


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

Reply via email to