diff options
Diffstat (limited to 'emu/port/ipif-posix.c')
| -rw-r--r-- | emu/port/ipif-posix.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/emu/port/ipif-posix.c b/emu/port/ipif-posix.c index 2502e183..fffc4e7c 100644 --- a/emu/port/ipif-posix.c +++ b/emu/port/ipif-posix.c @@ -225,7 +225,7 @@ so_accept(int fd, unsigned long *raddr, unsigned short *rport) } void -so_bind(int fd, int su, unsigned short port) +so_bind(int fd, int su, unsigned long addr, unsigned short port) { int i, one; struct sockaddr sa; @@ -243,6 +243,7 @@ so_bind(int fd, int su, unsigned short port) for(i = 600; i < 1024; i++) { memset(&sa, 0, sizeof(sa)); sin->sin_family = AF_INET; + hnputl(&sin->sin_addr.s_addr, addr); hnputs(&sin->sin_port, i); if(bind(fd, &sa, sizeof(sa)) >= 0) @@ -253,6 +254,7 @@ so_bind(int fd, int su, unsigned short port) memset(&sa, 0, sizeof(sa)); sin->sin_family = AF_INET; + hnputl(&sin->sin_addr.s_addr, addr); hnputs(&sin->sin_port, port); if(bind(fd, &sa, sizeof(sa)) < 0) |
