Zebediah Figura (@zfigura) commented about dlls/ntdll/unix/socket.c:
+ * Matching the Windows behaviour, making the program work(in theory). + */ + + size_t skipping = 0; + struct iovec *start = async->iov + async->iov_cursor; + + for(ssize_t i = async->iov_cursor; i < async->count; i++) + { + skipping += start[i].iov_len; + } + + WARN("Attempting to send to port 0, skipping over %zd bytes\n", skipping); + async->sent_len += skipping; + + while (async->iov_cursor < async->count && skipping >= async->iov[async->iov_cursor].iov_len) + skipping -= async->iov[async->iov_cursor++].iov_len; What's this for? You're not using this variable later...
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2100#note_23782