X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lib-src%2Fgnuslib.c;h=ba5a96c17cc9a007e28b07452d312bdd8d0e7fa4;hb=d0db00bcaf47ef2f08081a7adeac25847a980cf5;hp=c16aa31051ae56af63de9518a204be9df5ad32b0;hpb=3e447015251ce6dcde843cbed10d9033d5538622;p=chise%2Fxemacs-chise.git.1 diff --git a/lib-src/gnuslib.c b/lib-src/gnuslib.c index c16aa31..ba5a96c 100644 --- a/lib-src/gnuslib.c +++ b/lib-src/gnuslib.c @@ -43,7 +43,7 @@ static int connect_to_ipc_server (void); static int connect_to_unix_server (void); #endif #ifdef INTERNET_DOMAIN_SOCKETS -static int connect_to_internet_server (char *serverhost, u_short port); +static int connect_to_internet_server (char *serverhost, unsigned short port); #endif /* On some systems, e.g. DGUX, inet_addr returns a 'struct in_addr'. */ @@ -313,13 +313,15 @@ static Xauth *server_xauth = NULL; descriptor for server if successful. */ static int -connect_to_internet_server (char *serverhost, u_short port) +connect_to_internet_server (char *serverhost, unsigned short port) { int s; /* connected socket descriptor */ struct servent *sp; /* pointer to service information */ struct sockaddr_in peeraddr_in; /* for peer socket address */ char buf[512]; /* temporary buffer */ + int t; + /* clear out address structures */ memset((char *)&peeraddr_in,0,sizeof(struct sockaddr_in)); @@ -327,10 +329,12 @@ connect_to_internet_server (char *serverhost, u_short port) peeraddr_in.sin_family = AF_INET; /* look up the server host's internet address */ - if ((peeraddr_in.sin_addr.s_addr = internet_addr(serverhost)) == -1) { + if ((t = internet_addr(serverhost)) == -1) { fprintf(stderr,"%s: unable to find %s in /etc/hosts or from YP\n", progname,serverhost); exit(1); + } else { + peeraddr_in.sin_addr.s_addr = t; }; /* if */ if (port == 0) {