net_udp.c: support -ip command line option.

Patch from Maciej Olędzki - see sf.net ticket:
https://sourceforge.net/p/quakespasm/bugs/58/
This commit is contained in:
Ozkan Sezer 2023-01-03 20:04:20 +03:00
parent 3d967a6608
commit c5130f23a0

View file

@ -39,7 +39,7 @@ static in_addr_t myAddr;
sys_socket_t UDP_Init (void) sys_socket_t UDP_Init (void)
{ {
int err; int err, i;
char *tst; char *tst;
char buff[MAXHOSTNAMELEN]; char buff[MAXHOSTNAMELEN];
struct hostent *local; struct hostent *local;
@ -80,10 +80,28 @@ sys_socket_t UDP_Init (void)
Con_SafePrintf("UDP_Init: address from gethostbyname not IPv4\n"); Con_SafePrintf("UDP_Init: address from gethostbyname not IPv4\n");
} }
else else
{
i = COM_CheckParm ("-ip");
if (i)
{
if (i < com_argc-1)
{
myAddr = inet_addr(com_argv[i + 1]);
if (myAddr == INADDR_NONE)
Sys_Error ("%s is not a valid IP address", com_argv[i + 1]);
strcpy(my_tcpip_address, com_argv[i + 1]);
}
else
{
Sys_Error ("NET_Init: you must specify an IP address after -ip");
}
}
else
{ {
myAddr = *(in_addr_t *)local->h_addr_list[0]; myAddr = *(in_addr_t *)local->h_addr_list[0];
} }
} }
}
if ((net_controlsocket = UDP_OpenSocket(0)) == INVALID_SOCKET) if ((net_controlsocket = UDP_OpenSocket(0)) == INVALID_SOCKET)
{ {