summaryrefslogtreecommitdiff
path: root/lib/ZOpenPort.c
diff options
context:
space:
mode:
authorGravatar Robert S. French <rfrench@mit.edu>1988-05-17 17:21:01 +0000
committerGravatar Robert S. French <rfrench@mit.edu>1988-05-17 17:21:01 +0000
commit031ec0f258f152c1e20905b381aa7f5974db1f3d (patch)
tree1c15619ec8a5192e2d5095c6efde5e9a47ddc7ce /lib/ZOpenPort.c
parent4d21b4b5da809cdf4499190a1e27bff679a90422 (diff)
All sorts of changes for ver 0.2
Diffstat (limited to 'lib/ZOpenPort.c')
-rw-r--r--lib/ZOpenPort.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/ZOpenPort.c b/lib/ZOpenPort.c
index 3cc2bd3..54e0ae8 100644
--- a/lib/ZOpenPort.c
+++ b/lib/ZOpenPort.c
@@ -24,9 +24,9 @@ static char rcsid_ZOpenPort_c[] = "$Header$";
Code_t ZOpenPort(port)
u_short *port;
{
- int retval;
struct sockaddr_in bindin;
-
+ int len;
+
(void) ZClosePort();
if ((__Zephyr_fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
@@ -43,16 +43,18 @@ Code_t ZOpenPort(port)
bindin.sin_addr.s_addr = INADDR_ANY;
- if ((retval = bind(__Zephyr_fd, &bindin, sizeof(bindin))) < 0) {
+ if (bind(__Zephyr_fd, &bindin, sizeof(bindin)) < 0) {
if (errno == EADDRINUSE && port && *port)
return (ZERR_PORTINUSE);
else
return (errno);
}
- if (!bindin.sin_port)
- if (getsockname(__Zephyr_fd, &bindin, sizeof(bindin)))
+ if (!bindin.sin_port) {
+ len = sizeof(bindin);
+ if (getsockname(__Zephyr_fd, &bindin, &len))
return (errno);
+ }
__Zephyr_port = bindin.sin_port;
__Zephyr_open = 1;