On Wed, Nov 11, 2009 at 00:44, Gilles J. Seguin <[email protected]> wrote:
> warning: cast from pointer to integer of different size
This warning is a false positive and your proposal is wrong.

The function setFormatCB() gets as clientData an integer pointer, see
line 1549. If we would apply your proposal we would write 8bytes at
the position pointed to by clientData, but clientData just points at
4bytes. The only values which userData can have are these from enum
fileFormats. Therefore casting userData to int is safe. The only thing
we could do is to remove the false warning by first casting to (long),
ie.:

--- nedit-5.6/source/file.c.yy  2008-11-05 04:17:20.000000000 -0500
+++ nedit-5.6/source/file.c     2009-11-10 16:20:39.000000000 -0500
@@ -1914,7 +1914,7 @@
     if (XmToggleButtonGetState(w)) {
         XtPointer userData;
         XtVaGetValues(w, XmNuserData, &userData, NULL);
-        *(int*) clientData = (int) userData;
-        *(int*) clientData = (int) (long) userData;
     }
 }

Bert
>
>
> --
> NEdit Develop mailing list - [email protected]
> http://www.nedit.org/mailman/listinfo/develop
>
>
-- 
NEdit Develop mailing list - [email protected]
http://www.nedit.org/mailman/listinfo/develop

Reply via email to