From: Harald N. <hoc...@gm...> - 2013-02-16 15:26:18
|
Am 16.02.2013 15:05, schrieb dmarkle: > Take for instance a change I've been looking to make to fix 64 bit compile > warnings in gtkhelp.c: > > xtrkcad/app/wlib/gtklib/gtkhelp.c: In function ‘DoHelpMenu’: > xtrkcad/app/wlib/gtklib/gtkhelp.c:705:13: warning: cast from pointer to > integer of different size [-Wpointer-to-int-cast] > > Recommended way to fix this: > > --- a/app/wlib/gtklib/gtkhelp.c Sat Feb 16 08:43:23 2013 +0100 > +++ b/app/wlib/gtklib/gtkhelp.c Sat Feb 16 08:57:35 2013 -0500 > @@ -702,7 +702,7 @@ > static void > DoHelpMenu( void *data ) > { > - int func = (int)data; > + int func = (intptr_t)data; > > switch( func ) > { Hi Daniel, Actually so far I didn't get this pointer -> value games - but ok, I have still no complete overview..... But I'm not sure about your implementation - maybe the compiler warning is gone, but the result is the same. intptr_t is a "An integer type wide enough to store the value of a pointer" therefore it is an 64bit integer, ok. But finally an (implicit) conversion to an simple "int" (=32bit) happens. Wouldn't it be better to change all simple int's to "size_t" (integer type same size as a pointer) when making this pointer->value games? @Martin: size_t on Windows exists, true? regards, Harald |