Fix translate16to16 along the lines of all the other translate functions.

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@527 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Matt Chapman 2003-10-29 08:37:20 +00:00
parent 5934915c9f
commit ff230a1672

36
xwin.c
View File

@ -408,34 +408,35 @@ translate15to32(uint16 * data, uint8 * out, uint8 * end)
} }
static void static void
translate16to16(uint16 * data, uint16 * out, uint16 * end) translate16to16(uint16 * data, uint8 * out, uint8 * end)
{ {
uint16 pixel;
uint16 value; uint16 value;
if (g_xserver_be) while (out < end)
{ {
while (out < end) pixel = *(data++);
if (g_host_be)
{ {
value = *data; BSWAP16(pixel);
BSWAP16(value);
*out = value;
data++;
out++;
} }
} value = make_colour(split_colour16(pixel));
else
{ if (g_xserver_be)
while (out < end)
{ {
*out = *data; *(out++) = value >> 8;
out++; *(out++) = value;
data++; }
else
{
*(out++) = value;
*(out++) = value >> 8;
} }
} }
} }
static void static void
translate16to24(uint16 * data, uint8 * out, uint8 * end) translate16to24(uint16 * data, uint8 * out, uint8 * end)
{ {
@ -591,8 +592,7 @@ translate_image(int width, int height, uint8 * data)
translate16to24((uint16 *) data, out, end); translate16to24((uint16 *) data, out, end);
break; break;
case 16: case 16:
translate16to16((uint16 *) data, (uint16 *) out, translate16to16((uint16 *) data, out, end);
(uint16 *) end);
break; break;
} }
break; break;