$NetBSD: patch-ab,v 1.2 2002/10/23 21:12:37 bouyer Exp $ --- vncviewer/sockets.c.orig Wed Oct 23 20:17:57 2002 +++ vncviewer/sockets.c Wed Oct 23 20:23:48 2002 @@ -210,7 +210,11 @@ return -1; } +#ifdef SVR4 + if (connect(sock, sa, sizeof(struct sockaddr_in)) < 0) { +#else if (connect(sock, sa, sa->sa_len) < 0) { +#endif fprintf(stderr,programName); perror(": ConnectToTcpAddr: connect"); close(sock); @@ -369,26 +373,27 @@ #else /* just for IPv4 */ struct hostent *hp; - struct sockaddr_in *sin; + struct sockaddr_in *sin = (struct sockaddr_in *)sa; struct in_addr *addr = &sin->sin_addr; - sin = (struct sockaddr_in *)sa; sin->sin_family = AF_INET; +#ifndef SVR4 sin->sin_len = sizeof(struct sockaddr_in); +#endif sin->sin_port = 0; if (strcmp(str,"") == 0) { - *addr = 0; /* local */ + memset(addr, 0, sizeof(struct sockaddr_in)); /* local */ return True; } - if ((addr.s_addr = inet_addr(str)) == -1) { + if ((addr->s_addr = inet_addr(str)) == -1) { if (!(hp = gethostbyname(str))) return False; - memcpy(&addr, hp->h_addr, sizeof(struct in_addr)); + memcpy(addr, hp->h_addr, sizeof(struct in_addr)); } - return False; + return True; #endif }