On Fri, Aug 5, 2011 at 10:07 AM, walter harms <wha...@bfs.de> wrote: > hi matt, > > I am not sure if i understand the purpose of swap() really. > > do you generaly swap bytes ? then you may like a look at swab() (man 3 swab). > On the other side when endianes is a problem ntoh() and friends may be more > friendly.
I'm not an expert on this code, but what I learned yesterday is that a lot of it is (only?) used for mixed-endian client/server situations. For example, remotely displaying an application running on a big-endian SPARC system on a little-endian amd64 system. It looks like swab() is for byte-swapping strings of two-byte data, so it's not really useful, I think. The point of the patch is to correct problems caused by byte-swapping the wrong sized data. Attempting to byte-swap a short when the datum is only 8-bits is going to cause - the 8-bits to be extended to 16-bits - the two 8-bits swapped - the result truncated and the lower 8-bits (what was extended into!) saved > the macro uses "sizeof((src)) != 2" perhaps you can use int16_t here better ? Yes, good idea. Matt _______________________________________________ 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