On Fri, 19 Feb 2021 14:48:39 GMT, Conor Cleary <ccle...@openjdk.org> wrote:

>> Jamie Le Tual has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Fixed formatting
>
> src/java.base/unix/native/libnet/Inet4AddressImpl.c line 375:
> 
>> 373:         icmp->icmp_type = ICMP_ECHO;
>> 374:         icmp->icmp_code = 0;
>> 375:         // same result as downcasting the little-endian pid, although 
>> we are not longer
> 
> I don't think this is true. When downcasting the pid (which is at this stage 
> in Nework/Big-Endian Order), the host order will be considered. Assuming that 
> the downcast is to `uint16_t`, which it looks like is what icmp_id takes, the 
> 16 least significant bits will be considered (if the host machine is 
> little-endian of course). This is different from the 16 bit right shift. Here 
> is some example output from a short C program I wrote (output is in hex to 
> more easily demonstrate bitwise ops):
> 
> pid size: 4
> int size: 4
> 
> getpid() testing:
> pid   = be67f
> htonl = 7fe60b00
> cast  = b00
>>> 16 = 7fe6

On that note, is it ok to ignore any bits that are shifted out? For example, 
`7fe60b00 >> 16` results in  `00007fe6` while the trailing `0b00` is ignored.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1502

Reply via email to