src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c
changeset 59313 6f12009ea9d7
parent 55375 96c7427456f9
equal deleted inserted replaced
59312:43eee1237934 59313:6f12009ea9d7
  1492         ni = Java_java_net_NetworkInterface_getByInetAddress0(env, ni_class, addr);
  1492         ni = Java_java_net_NetworkInterface_getByInetAddress0(env, ni_class, addr);
  1493         JNU_CHECK_EXCEPTION_RETURN(env, NULL);
  1493         JNU_CHECK_EXCEPTION_RETURN(env, NULL);
  1494         if (ni) {
  1494         if (ni) {
  1495             return ni;
  1495             return ni;
  1496         }
  1496         }
  1497 
  1497         return NULL;
  1498         /*
       
  1499          * The address doesn't appear to be bound at any known
       
  1500          * NetworkInterface. Therefore we construct a NetworkInterface
       
  1501          * with this address.
       
  1502          */
       
  1503         ni = (*env)->NewObject(env, ni_class, ni_ctrID, 0);
       
  1504         CHECK_NULL_RETURN(ni, NULL);
       
  1505 
       
  1506         (*env)->SetIntField(env, ni, ni_indexID, -1);
       
  1507         addrArray = (*env)->NewObjectArray(env, 1, inet4_class, NULL);
       
  1508         CHECK_NULL_RETURN(addrArray, NULL);
       
  1509         (*env)->SetObjectArrayElement(env, addrArray, 0, addr);
       
  1510         (*env)->SetObjectField(env, ni, ni_addrsID, addrArray);
       
  1511         ni_name = (*env)->NewStringUTF(env, "");
       
  1512         if (ni_name != NULL) {
       
  1513             (*env)->SetObjectField(env, ni, ni_nameID, ni_name);
       
  1514         }
       
  1515         return ni;
       
  1516     }
  1498     }
  1517 
  1499 
  1518 
  1500 
  1519     /*
  1501     /*
  1520      * IPv6 implementation
  1502      * IPv6 implementation
  1617         addr = (*env)->CallStaticObjectMethod(env, ia_class, ia_anyLocalAddressID,
  1599         addr = (*env)->CallStaticObjectMethod(env, ia_class, ia_anyLocalAddressID,
  1618                                               NULL);
  1600                                               NULL);
  1619         if (opt == java_net_SocketOptions_IP_MULTICAST_IF) {
  1601         if (opt == java_net_SocketOptions_IP_MULTICAST_IF) {
  1620             return addr;
  1602             return addr;
  1621         }
  1603         }
  1622 
       
  1623         ni = (*env)->NewObject(env, ni_class, ni_ctrID, 0);
       
  1624         CHECK_NULL_RETURN(ni, NULL);
       
  1625         (*env)->SetIntField(env, ni, ni_indexID, -1);
       
  1626         addrArray = (*env)->NewObjectArray(env, 1, ia_class, NULL);
       
  1627         CHECK_NULL_RETURN(addrArray, NULL);
       
  1628         (*env)->SetObjectArrayElement(env, addrArray, 0, addr);
       
  1629         (*env)->SetObjectField(env, ni, ni_addrsID, addrArray);
       
  1630         ni_name = (*env)->NewStringUTF(env, "");
       
  1631         if (ni_name != NULL) {
       
  1632             (*env)->SetObjectField(env, ni, ni_nameID, ni_name);
       
  1633         }
       
  1634         return ni;
       
  1635     }
  1604     }
  1636     return NULL;
  1605     return NULL;
  1637 }
  1606 }
  1638 
  1607 
  1639 
  1608