1
0
mirror of https://github.com/prirun/p50em.git synced 2026-02-17 12:37:05 +00:00

devpnc.h: use global bindaddr variable instead of hardcoded INADDR_ANY.

em.c: command line option -naddr to set bind address for pnc socket.
This commit is contained in:
Dennis Boone
2020-03-01 04:35:23 +00:00
parent cd351506ea
commit 83f130aba5
2 changed files with 8 additions and 1 deletions

View File

@@ -973,7 +973,7 @@ int devpnc (int class, int func, int device) {
#endif
addr.sin_family = AF_INET;
addr.sin_port = htons(nport);
addr.sin_addr.s_addr = INADDR_ANY;
addr.sin_addr.s_addr = bindaddr;
if (bind(pncfd, (struct sockaddr *)&addr, sizeof(addr))) {
perror("bind: unable to bind for PNC");
fatal(NULL);

7
em.c
View File

@@ -667,6 +667,7 @@ static int domemdump; /* -memdump arg */
static int tport; /* -tport option (incoming terminals) */
static int nport; /* -nport option (PNC/Ringnet) */
static in_addr_t bindaddr = INADDR_ANY; /* -naddr option (PnC/Ringnet) */
/* load map related data, specified with -map */
@@ -4626,6 +4627,12 @@ int main (int argc, char **argv) {
} else
fatal("-nport needs an argument\n");
} else if (strcmp(argv[i],"-naddr") == 0) {
if (i+1 < argc && argv[i+1][0] != '-') {
inet_aton(argv[++i], &bindaddr);
} else
fatal("-naddr needs an argument\n");
} else if (strcmp(argv[i],"-tport") == 0) {
if (i+1 < argc && argv[i+1][0] != '-') {
sscanf(argv[++i],"%d", &templ);