You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2007/05/21 14:17:30 UTC
svn commit: r540129 -
/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/unix/hysock.c
Author: hindessm
Date: Mon May 21 05:17:29 2007
New Revision: 540129
URL: http://svn.apache.org/viewvc?view=rev&rev=540129
Log:
Linux man for inet_addr says:
This is an obsolete interface to inet_aton(), described immediately
above; it is obsolete because -1 is a valid address
(255.255.255.255), and inet_aton() provides a cleaner way to
indicate error return.
so I've modified the code to use inet_aton instead. I also fixed a
bug in the documentation. (The [in] and [out] parameters where the
wrong way around.)
Modified:
harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/unix/hysock.c
Modified: harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/unix/hysock.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/unix/hysock.c?view=diff&rev=540129&r1=540128&r2=540129
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/unix/hysock.c (original)
+++ harmony/enhanced/classlib/trunk/modules/portlib/src/main/native/port/unix/hysock.c Mon May 21 05:17:29 2007
@@ -35,6 +35,7 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h> /* for struct in_addr */
+#include <arpa/inet.h> /* for inet_addr */
#include <sys/ioctl.h>
#include <net/if.h> /* for struct ifconf */
@@ -2194,8 +2195,8 @@
* Answer the dotted IP string as an Internet address.
*
* @param[in] portLibrary The port library.
- * @param[out] addrStr The dotted IP string.
- * @param[in] addr Pointer to the Internet address.
+ * @param[in] addrStr The dotted IP string.
+ * @param[out] addr Pointer to the Internet address.
*
* @return 0, if no errors occurred, otherwise the (negative) error code.
*/
@@ -2204,17 +2205,15 @@
U_32 * addr)
{
I_32 rc = 0;
- U_32 val;
-
- val = inet_addr (addrStr);
- if (val == -1)
+ struct in_addr in;
+ if (inet_aton(addrStr, &in) == 0)
{
- HYSOCKDEBUGPRINT ("<inet_addr failed>\n");
+ HYSOCKDEBUGPRINT ("<inet_aton failed>\n");
rc = HYPORT_ERROR_SOCKET_ADDRNOTAVAIL;
}
else
{
- *addr = val;
+ *addr = in.s_addr;
}
return rc;
}