diff --git a/app/src/util/net.c b/app/src/util/net.c index bbf57bbc..75daef8b 100644 --- a/app/src/util/net.c +++ b/app/src/util/net.c @@ -99,16 +99,18 @@ net_send(socket_t socket, const void *buf, size_t len) { ssize_t net_send_all(socket_t socket, const void *buf, size_t len) { + size_t copied = 0; ssize_t w = 0; while (len > 0) { w = send(socket, buf, len, 0); if (w == -1) { - return -1; + return copied ? (ssize_t) copied : -1; } len -= w; buf = (char *) buf + w; + copied += w; } - return w; + return copied; } bool