On Mon, Feb 8, 2010 at 2:07 PM, Damjan Jovanovic damjan.jov@gmail.com wrote:
Changelog:
- ws2_32: warn the user if broadcasts are failing because of a missing
route to 255.255.255.255
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index 9a65cb0..ac55e50 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -1430,7 +1431,13 @@ static int WS2_send( int fd, struct ws2_async *wsa ) hdr.msg_flags = 0; #endif
- return sendmsg(fd, &hdr, wsa->flags); + ret = sendmsg(fd, &hdr, wsa->flags); + if (ret < 0 && errno == ENETUNREACH && wsa->addr && wsa->addr->sa_family == AF_INET && + ((struct WS_sockaddr_in*)wsa->addr)->sin_addr.WS_s_addr == 0xFFFFFFFF) + { + FIXME("broadcast failed, you need to add a route to 255.255.255.255\n");
That doesn't look like a WARN() to me. Anyway, it seems an ERR() would be more appropriate.