randr: ProcRRListProviderProperties(): use x_rpcbuf_t

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult
2025-09-01 18:24:20 +02:00
committed by Enrico Weigelt
parent 86755b09be
commit 41506c8fae

View File

@@ -340,7 +340,6 @@ int
ProcRRListProviderProperties(ClientPtr client)
{
REQUEST(xRRListProviderPropertiesReq);
Atom *pAtoms = NULL;
int numProps = 0;
RRProviderPtr provider;
RRPropertyPtr prop;
@@ -349,40 +348,21 @@ ProcRRListProviderProperties(ClientPtr client)
VERIFY_RR_PROVIDER(stuff->provider, provider, DixReadAccess);
for (prop = provider->properties; prop; prop = prop->next)
x_rpcbuf_t rpcbuf = { .swapped = client->swapped, .err_clear = TRUE };
for (prop = provider->properties; prop; prop = prop->next) {
x_rpcbuf_write_CARD32(&rpcbuf, prop->propertyName);
numProps++;
const Bool swapped = client->swapped;
if (numProps) {
if (!(pAtoms = calloc(numProps, sizeof(Atom))))
return BadAlloc;
Atom *temppAtoms = pAtoms;
for (prop = provider->properties; prop; prop = prop->next) {
*temppAtoms = prop->propertyName;
if (swapped)
swapl(temppAtoms);
temppAtoms++;
}
}
xRRListProviderPropertiesReply rep = {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(numProps * sizeof(Atom)),
.nAtoms = numProps
};
if (swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
if (client->swapped)
swaps(&rep.nAtoms);
}
WriteToClient(client, sizeof(xRRListProviderPropertiesReply), (char *) &rep);
WriteToClient(client, numProps * sizeof(Atom), pAtoms);
free(pAtoms);
return Success;
return X_SEND_REPLY_WITH_RPCBUF(client, rep, rpcbuf);
}
int