X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=net_udp.c;h=bd4a5de68e6f4dea1943ec8a3869890319859d27;hb=99e1dc6728c1d2125a1635a8065b26637d9e8ed3;hp=baf0ac4ab02cade1e02e54d67fea23bc2722458b;hpb=93b64f3ca6ceb57a7b0aa9889e29240e35b9957b;p=xonotic%2Fdarkplaces.git diff --git a/net_udp.c b/net_udp.c index baf0ac4a..bd4a5de6 100644 --- a/net_udp.c +++ b/net_udp.c @@ -64,7 +64,10 @@ int UDP_Init (void) // determine my name & address gethostname(buff, MAXHOSTNAMELEN); local = gethostbyname(buff); - myAddr = *(int *)local->h_addr_list[0]; + if (!local) + myAddr = htonl(INADDR_LOOPBACK); // default to the loopback address + else + myAddr = *(int *)local->h_addr_list[0]; // if the quake hostname isn't set, set it to the machine name if (strcmp(hostname.string, "UNNAMED") == 0) @@ -77,7 +80,7 @@ int UDP_Init (void) Sys_Error("UDP_Init: Unable to open control socket\n"); ((struct sockaddr_in *)&broadcastaddr)->sin_family = AF_INET; - ((struct sockaddr_in *)&broadcastaddr)->sin_addr.s_addr = INADDR_BROADCAST; + ((struct sockaddr_in *)&broadcastaddr)->sin_addr.s_addr = htonl(INADDR_BROADCAST); ((struct sockaddr_in *)&broadcastaddr)->sin_port = htons(net_hostport); UDP_GetSocketAddr (net_controlsocket, &addr);