X-Git-Url: https://git.distorted.org.uk/~mdw/fwd/blobdiff_plain/aa1f699e11e882dd1a8af4a7ceb114b85b1c28dd..00e3c0f1bbe99682debd4e34d3d3bd950f8c30cb:/inet.c diff --git a/inet.c b/inet.c index 9980199..f98c7fa 100644 --- a/inet.c +++ b/inet.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: inet.c,v 1.1 1999/07/26 23:34:11 mdw Exp $ + * $Id: inet.c,v 1.4 2002/01/13 14:49:56 mdw Exp $ * * Protocol specific definitions for IPv4 sockets * @@ -29,6 +29,16 @@ /*----- Revision history --------------------------------------------------* * * $Log: inet.c,v $ + * Revision 1.4 2002/01/13 14:49:56 mdw + * Conditional compilation for @getnetbyname@, since Cygwin doesn't have + * it. + * + * Revision 1.3 2000/08/01 17:59:56 mdw + * Switch over to using `size_t' for socket address lengths. + * + * Revision 1.2 1999/07/27 18:30:53 mdw + * Various minor portability fixes. + * * Revision 1.1 1999/07/26 23:34:11 mdw * New socket address types. * @@ -88,6 +98,7 @@ static addr *inet_read(scanner *sc, unsigned type) ia->a.ops = &inet_ops; ia->a.sz = sizeof(struct sockaddr_in); + memset(&ia->sin, 0, sizeof(ia->sin)); ia->sin.sin_family = AF_INET; /* --- Read the host address part --- */ @@ -190,9 +201,12 @@ static int inet_option(scanner *sc, addr_opts *ao) if (sc->t == CTOK_WORD && strcmp(sc->d.buf, "from") == 0) token(sc); conf_name(sc, '.', &d); +#ifdef HAVE_GETNETBYNAME if ((n = getnetbyname(d.buf)) != 0) a.s_addr = htonl(n->n_net); - else if ((h = gethostbyname(d.buf)) == 0) + else +#endif + if ((h = gethostbyname(d.buf)) == 0) error(sc, "couldn't resolve address `%s'", d.buf); else memcpy(&a, h->h_addr, sizeof(struct in_addr)); @@ -240,7 +254,7 @@ static reffd *inet_accept(int fd, addr_opts *ao, const char *desc) inet_opts *io = (inet_opts *)ao; int nfd; id_req q; - int lsinsz = sizeof(q.lsin), rsinsz = sizeof(q.rsin); + size_t lsinsz = sizeof(q.lsin), rsinsz = sizeof(q.rsin); /* --- Accept the new connection --- */