Missing swapl() in Xext/saver.c?

Keith Packard keithp at keithp.com
Mon Mar 12 19:39:41 UTC 2018


Mihai Moldovan <ionic at ionic.de> writes:

> Sounds sane. Reverting to the initially intended BOOL type would cause breakage,
> but using CARD32 + swapl() would leave the struct size consistent and fix the
> issue in newer versions.

I've posted patches for xcb/proto, xorgproto and the X server. For the X
server, I've also added a hack to keep old XCB clients on LSB machines
working by only using the low byte of the 4-byte value. There's not much
we can do for old XCB clients on MSB machines; the true value will be in
the high byte, whereas Xlib clients using the same version will be in
the low byte.

Of course, this changes the API for xcb, which used to use uint8_t and
now uses uint32_t. That doesn't change the ABI on any 32-bit int or
larger machine as the uint8_t would be passed in the same size object as
the uint32_t, and the X server will be ignoring the high three bytes.

Review is encouraged.

-- 
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20180312/d58fd27d/attachment.sig>


More information about the xorg-devel mailing list