Author: hgomez Date: Tue Apr 24 01:02:47 2007 New Revision: 531819 URL: http://svn.apache.org/viewvc?view=rev&rev=531819 Log: Define a jk_inet_addr. On i5/OS jk_inet_addr make ASCII-EBCDIC conversion then call inet_addr. On other platform jk_inet_addr = inet_addr
Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.c tomcat/connectors/trunk/jk/native/common/jk_connect.h Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_connect.c?view=diff&rev=531819&r1=531818&r2=531819 ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_connect.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_connect.c Tue Apr 24 01:02:47 2007 @@ -222,6 +222,27 @@ } #endif + +#ifdef AS400_UTF8 + +/* + * i5/OS V5R4 need EBCDIC for its runtime calls but APR/APACHE works in UTF + */ +in_addr_t jk_inet_addr(const char * addrstr) +{ + in_addr_t addr; + char *ptr; + + ptr = (char *)malloc(strlen(addrstr) + 1); + jk_ascii2ebcdic((char *)addrstr, ptr); + addr = inet_addr(ptr); + free(ptr); + + return(addr); +} + +#endif + /** resolve the host IP */ int jk_resolve(const char *host, int port, struct sockaddr_in *rc) @@ -271,11 +292,7 @@ apr_sockaddr_ip_get(&remote_ipaddr, remote_sa); - /* i5/OS V5R4 need EBCDIC for its runtime calls but APR/APACHE works in UTF */ -#ifdef AS400_UTF8 - jk_ascii2ebcdic(remote_ipaddr, remote_ipaddr); -#endif - laddr.s_addr = inet_addr(remote_ipaddr); + laddr.s_addr = jk_inet_addr(remote_ipaddr); #else /* HAVE_APR */ @@ -295,12 +312,8 @@ #endif /* HAVE_APR */ } else { - /* i5/OS V5R4 need EBCDIC for its runtime calls but APR/APACHE works in UTF */ -#ifdef AS400_UTF8 - jk_ascii2ebcdic((char *)host, (char *)host); -#endif /* If we found only digits we use inet_addr() */ - laddr.s_addr = inet_addr(host); + laddr.s_addr = jk_inet_addr(host); } memcpy(&(rc->sin_addr), &laddr, sizeof(laddr)); Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.h URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_connect.h?view=diff&rev=531819&r1=531818&r2=531819 ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_connect.h (original) +++ tomcat/connectors/trunk/jk/native/common/jk_connect.h Tue Apr 24 01:02:47 2007 @@ -56,6 +56,17 @@ int jk_is_socket_connected(jk_sock_t sd); + +/*** + * i5/OS V5R4 need ASCII<->EBCDIC translation for inet_addr() call + */ +#if !defined(AS400_UTF8) + +#define jk_inet_addr inet_addr + +#endif + + #ifdef __cplusplus } #endif /* __cplusplus */ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]