src/solaris/native/java/net/Inet6AddressImpl.c
Print this page
@@ -68,12 +68,12 @@
Java_java_net_Inet6AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
int ret;
char hostname[NI_MAXHOST+1];
hostname[0] = '\0';
- ret = JVM_GetHostName(hostname, sizeof(hostname));
- if (ret) {
+ ret = gethostname(hostname, NI_MAXHOST);
+ if (ret == -1) {
/* Something went wrong, maybe networking is not setup? */
strcpy(hostname, "localhost");
} else {
// ensure null-terminated
hostname[NI_MAXHOST] = '\0';
@@ -138,11 +138,11 @@
* from all attached interfaces. (#2844683 et al) This prevents undesired
* PPP dialup, but may return addresses that don't actually correspond to
* the name (if the name actually matches something in DNS etc.
*/
myhostname[0] = '\0';
- if (JVM_GetHostName(myhostname, NI_MAXHOST)) {
+ if (gethostname(myhostname, NI_MAXHOST) == -1) {
/* Something went wrong, maybe networking is not setup? */
return NULL;
}
myhostname[NI_MAXHOST] = '\0';
@@ -709,19 +709,19 @@
* otherwise we'll try a tcp socket to the Echo port (7).
* Note that this is empiric, and not connecting could mean it's blocked
* or the echo service has been disabled.
*/
- fd = JVM_Socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6);
+ fd = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6);
if (fd != -1) { /* Good to go, let's do a ping */
return ping6(env, fd, &him6, timeout, netif, ttl);
}
/* No good, let's fall back on TCP */
- fd = JVM_Socket(AF_INET6, SOCK_STREAM, 0);
- if (fd == JVM_IO_ERR) {
+ fd = socket(AF_INET6, 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");
@@ -741,23 +741,22 @@
return JNI_FALSE;
}
}
SET_NONBLOCKING(fd);
- /* no need to use NET_Connect as non-blocking */
him6.sin6_port = htons((short) 7); /* Echo port */
- connect_rv = JVM_Connect(fd, (struct sockaddr *)&him6, len);
+ connect_rv = NET_Connect(fd, (struct sockaddr *)&him6, 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 */
@@ -784,12 +783,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 || ECONNREFUSED) {
close(fd);