src/solaris/native/java/net/Inet4AddressImpl.c

Print this page

        

@@ -68,11 +68,11 @@
 JNIEXPORT jstring JNICALL
 Java_java_net_Inet4AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
     char hostname[NI_MAXHOST+1];
 
     hostname[0] = '\0';
-    if (JVM_GetHostName(hostname, NI_MAXHOST)) {
+    if (gethostname(hostname, NI_MAXHOST)) {
         /* Something went wrong, maybe networking is not setup? */
         strcpy(hostname, "localhost");
     } else {
          struct addrinfo  hints, *res;
          int error;

@@ -330,11 +330,11 @@
 JNIEXPORT jstring JNICALL
 Java_java_net_Inet4AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
     char hostname[NI_MAXHOST+1];
 
     hostname[0] = '\0';
-    if (JVM_GetHostName(hostname, sizeof(hostname))) {
+    if (gethostname(hostname, NI_MAXHOST)) {
         /* Something went wrong, maybe networking is not setup? */
         strcpy(hostname, "localhost");
     } else {
         struct addrinfo hints, *res;
         int error;

@@ -727,23 +727,23 @@
 
     /*
      * Let's try to create a RAW socket to send ICMP packets
      * This usually requires "root" privileges, so it's likely to fail.
      */
-    fd = JVM_Socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
+    fd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
     if (fd != -1) {
       /*
        * It didn't fail, so we can use ICMP_ECHO requests.
        */
       return ping4(env, fd, &him, timeout, netif, ttl);
     }
 
     /*
      * Can't create a raw socket, so let's try a TCP socket
      */
-    fd = JVM_Socket(AF_INET, SOCK_STREAM, 0);
-    if (fd == JVM_IO_ERR) {
+    fd = socket(AF_INET, SOCK_STREAM, 0);
+    if (fd == -1) {
         /* note: if you run out of fds, you may not be able to load
          * the exception class, and get a NoClassDefFoundError
          * instead.
          */
         NET_ThrowNew(env, errno, "Can't create socket");

@@ -767,23 +767,22 @@
     /*
      * Make the socket non blocking so we can use select/poll.
      */
     SET_NONBLOCKING(fd);
 
-    /* no need to use NET_Connect as non-blocking */
     him.sin_port = htons(7);    /* Echo */
-    connect_rv = JVM_Connect(fd, (struct sockaddr *)&him, len);
+    connect_rv = NET_Connect(fd, (struct sockaddr *)&him, len);
 
     /**
      * connection established or refused immediately, either way it means
      * we were able to reach the host!
      */
     if (connect_rv == 0 || errno == ECONNREFUSED) {
         close(fd);
         return JNI_TRUE;
     } else {
-        int optlen;
+        socklen_t optlen = (socklen_t)sizeof(connect_rv);
 
         switch (errno) {
         case ENETUNREACH: /* Network Unreachable */
         case EAFNOSUPPORT: /* Address Family not supported */
         case EADDRNOTAVAIL: /* address is not available on  the  remote machine */

@@ -809,12 +808,11 @@
         }
 
         timeout = NET_Wait(env, fd, NET_WAIT_CONNECT, timeout);
         if (timeout >= 0) {
           /* has connection been established? */
-          optlen = sizeof(connect_rv);
-          if (JVM_GetSockOpt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
+          if (getsockopt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
                              &optlen) <0) {
             connect_rv = errno;
           }
           if (connect_rv == 0 || connect_rv == ECONNREFUSED) {
             close(fd);