randr: ProcRRGetProviderProperty(): use SwapShort()/SwapLong()
Simplify reply payload preparation and sendout by using SwapShort() and SwapLong() instead of WriteToClientSwapped() and callbacks. This also allows even further simplifications by using generic macros for the request send path. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1794>
This commit is contained in:
parent
8789be52a4
commit
62b8497999
|
@ -685,24 +685,26 @@ ProcRRGetProviderProperty(ClientPtr client)
|
|||
swapl(&reply.bytesAfter);
|
||||
swapl(&reply.nItems);
|
||||
}
|
||||
WriteToClient(client, sizeof(xGenericReply), &reply);
|
||||
if (len) {
|
||||
memcpy(extra, (char *) prop_value->data + ind, len);
|
||||
switch (reply.format) {
|
||||
case 32:
|
||||
client->pSwapReplyFunc = (ReplySwapPtr) CopySwap32Write;
|
||||
if (client->swapped)
|
||||
SwapLongs((CARD32*) extra, len/sizeof(CARD32));
|
||||
break;
|
||||
case 16:
|
||||
client->pSwapReplyFunc = (ReplySwapPtr) CopySwap16Write;
|
||||
if (client->swapped)
|
||||
SwapShorts((short*) extra, len/sizeof(CARD16));
|
||||
break;
|
||||
default:
|
||||
client->pSwapReplyFunc = (ReplySwapPtr) WriteToClient;
|
||||
break;
|
||||
}
|
||||
WriteSwappedDataToClient(client, len, extra);
|
||||
free(extra);
|
||||
}
|
||||
|
||||
WriteToClient(client, sizeof(xGenericReply), &reply);
|
||||
WriteToClient(client, len, extra);
|
||||
free(extra);
|
||||
|
||||
if (stuff->delete && (reply.bytesAfter == 0)) { /* delete the Property */
|
||||
*prev = prop->next;
|
||||
RRDestroyProviderProperty(prop);
|
||||
|
|
Loading…
Reference in New Issue