trawick 01/05/01 19:54:11 Modified: . CHANGES configure.in network_io/unix sa_common.c Log: Fix a problem on unixware where clearing h_errno wouldn't work. Use set_h_errno() instead. PR: 7651 Revision Changes Path 1.100 +3 -0 apr/CHANGES Index: CHANGES =================================================================== RCS file: /home/cvs/apr/CHANGES,v retrieving revision 1.99 retrieving revision 1.100 diff -u -r1.99 -r1.100 --- CHANGES 2001/05/01 04:51:59 1.99 +++ CHANGES 2001/05/02 02:54:11 1.100 @@ -1,5 +1,8 @@ Changes with APR b1 + *) Fix a problem on unixware where clearing h_errno wouldn't work. + Use set_h_errno() instead. PR #7651 [Jeff Trawick] + *) Add the test and build directories (when present) to the recursive make process, being sure that they are run last. [Roy Fielding] 1.299 +2 -0 apr/configure.in Index: configure.in =================================================================== RCS file: /home/cvs/apr/configure.in,v retrieving revision 1.298 retrieving revision 1.299 diff -u -r1.298 -r1.299 --- configure.in 2001/05/01 19:29:34 1.298 +++ configure.in 2001/05/02 02:54:11 1.299 @@ -1065,6 +1065,8 @@ AC_SUBST(have_corkable_tcp) AC_SUBST(accept_filter) +AC_CHECK_FUNCS(set_h_errno) + echo $ac_n "${nl}Checking for IPv6 Networking support...${nl}" dnl # Start of checking for IPv6 support... AC_SEARCH_LIBS(getaddrinfo, inet6) 1.34 +9 -1 apr/network_io/unix/sa_common.c Index: sa_common.c =================================================================== RCS file: /home/cvs/apr/network_io/unix/sa_common.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- sa_common.c 2001/05/02 02:32:46 1.33 +++ sa_common.c 2001/05/02 02:54:11 1.34 @@ -71,6 +71,12 @@ #include #endif +#ifdef HAVE_SET_H_ERRNO +#define SET_H_ERRNO(newval) set_h_errno(newval) +#else +#define SET_H_ERRNO(newval) h_errno = (newval) +#endif + APR_DECLARE(apr_status_t) apr_sockaddr_port_set(apr_sockaddr_t *sockaddr, apr_port_t port) { @@ -441,7 +447,9 @@ char tmphostname[256]; #endif - h_errno = 0; /* don't know if it is portable for getnameinfo() to set h_errno */ + /* don't know if it is portable for getnameinfo() to set h_errno; + * clear it then see if it was set */ + SET_H_ERRNO(0); /* default flags are NI_NAMREQD; otherwise, getnameinfo() will return * a numeric address string if it fails to resolve the host name; * that is *not* what we want here