On 17/08/2015 02:20, Peter Hutterer wrote:
On Thu, Aug 13, 2015 at 01:11:37PM +0100, Jon TURNEY wrote:
xserver/hw/xfree86/common/xf86Helper.c:1834:12: error: format ‘%ld’ expects 
argument of type ‘long int’, but argument 3 has type ‘Atom’ [-Werror=format=]
xserver/hw/xfree86/common/xf86Helper.c:1834:12: error: format ‘%ld’ expects 
argument of type ‘long int’, but argument 4 has type ‘Atom’ [-Werror=format=]

Atom is unfortunately unsigned long or unsigned int depending on the
architecture, so a cast is required.

that's only true for client/Xlib code but in the server it's always 32 bits.
include/X.h has a section for _XSERVER64 which defines typedef CARD32 Atom;
so you can change this to just %d instead.

I'm not sure that's quite correct.

In client code, Atom is always unsigned long, to preserve the API.

In the server code, Atom is indeed always 32 bits (CARD32), but in a 32-bit X server that is an unsigned long.

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to