On 16/09/2012 2:33 AM, Dmitry Samersoff wrote:
Kelly,

Sorry for being later in a party.

Function receiving port number as an argument should use *in_port_t* -
rather than unsigned short - it expands to uint16_t or to uint32_t
depending to OS.

But that change in itself may not fix the problem because it is a comparison of a 16-bit type against a value that requires at least 17-bits that the compiler complains about.

David

-Dmitry

On 2012-09-15 19:58, Kelly O'Hair wrote:

On Sep 15, 2012, at 4:10 AM, David Holmes wrote:

On 15/09/2012 11:52 AM, Kelly O'Hair wrote:

7198327: Fix mac warning error in hprof_init.c

http://cr.openjdk.java.net/~ohair/openjdk8/repo-jdk/webrev/src/share/demo/jvmti/hprof/hprof_init.c.sdiff.html

The Mac warns on the if test for the port number being>  65535
made more sense for the port to be a simple int.

Seems simpler and more correct to just do:

    if (port == 0 || (int)port>  65535) {


If I can find a way to keep the cast count down, I tend to go that route.
I also know that compilers really don't pass 16bit quantities around, but 32bit 
quantities,
so in my mind, passing an int is simpler and might avoid some implicit casting.
I spent too many years working on compilers :^(

Of course I could see that I should have made it an unsigned int.


So are you against this change?

-kto


David

-kto




Reply via email to