diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c index 95720085197e2e644d0acedb75f82a68549904d1..f1374058ecd6f7ea824a21de41a4425f7d439d0f 100644 --- a/src/sbbs3/js_socket.c +++ b/src/sbbs3/js_socket.c @@ -190,13 +190,13 @@ static ptrdiff_t js_socket_recv(js_socket_private_t *p, void *buf, size_t len, i return total; return ret; } - if (!(flags & MSG_WAITALL) || p->nonblocking) + if ((!(flags & MSG_WAITALL)) || p->nonblocking) return ret; - total += copied; + total += ret; if(total>=(ptrdiff_t)len) return total; - len-=copied; - buf=((uint8_t *)buf) + copied; + len-=ret; + buf=((uint8_t *)buf) + ret; if(!socket_check(p->sock,NULL,NULL,0)) { if (total > 0)