From 3e3c514f23d0cff48e0dc7fd44a52ba693a3acf7 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 15 Jul 2024 19:25:19 +0200 Subject: [PATCH] xkb: XkbWriteKeyActions(): only pass in the needed data We don't need the whole struct here, especially do we not wanna change it. Therefore only pass in what's really needed, so it gets easier to understand. Signed-off-by: Enrico Weigelt, metux IT consult --- xkb/xkb.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/xkb/xkb.c b/xkb/xkb.c index 9e83927ec..920ada6e1 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -1185,30 +1185,29 @@ XkbSizeKeyActions(XkbDescPtr xkb, xkbGetMapReply * rep) } static char * -XkbWriteKeyActions(XkbDescPtr xkb, xkbGetMapReply * rep, char *buf, - ClientPtr client) +XkbWriteKeyActions(XkbDescPtr xkb, KeyCode firstKeyAct, CARD8 nKeyActs, char *buf) { unsigned i; CARD8 *numDesc; XkbAnyAction *actDesc; numDesc = (CARD8 *) buf; - for (i = 0; i < rep->nKeyActs; i++) { - if (xkb->server->key_acts[i + rep->firstKeyAct] == 0) + for (i = 0; i < nKeyActs; i++) { + if (xkb->server->key_acts[i + firstKeyAct] == 0) numDesc[i] = 0; else - numDesc[i] = XkbKeyNumActions(xkb, (i + rep->firstKeyAct)); + numDesc[i] = XkbKeyNumActions(xkb, (i + firstKeyAct)); } - buf += XkbPaddedSize(rep->nKeyActs); + buf += XkbPaddedSize(nKeyActs); actDesc = (XkbAnyAction *) buf; - for (i = 0; i < rep->nKeyActs; i++) { - if (xkb->server->key_acts[i + rep->firstKeyAct] != 0) { + for (i = 0; i < nKeyActs; i++) { + if (xkb->server->key_acts[i + firstKeyAct] != 0) { unsigned int num; - num = XkbKeyNumActions(xkb, (i + rep->firstKeyAct)); + num = XkbKeyNumActions(xkb, (i + firstKeyAct)); memcpy((char *) actDesc, - (char *) XkbKeyActionsPtr(xkb, (i + rep->firstKeyAct)), + (char *) XkbKeyActionsPtr(xkb, (i + firstKeyAct)), num * SIZEOF(xkbActionWireDesc)); actDesc += num; } @@ -1420,7 +1419,7 @@ XkbSendMap(ClientPtr client, XkbDescPtr xkb, xkbGetMapReply * rep) if (rep->nKeySyms > 0) desc = XkbWriteKeySyms(xkb, rep->firstKeySym, rep->nKeySyms, desc, client); if (rep->nKeyActs > 0) - desc = XkbWriteKeyActions(xkb, rep, desc, client); + desc = XkbWriteKeyActions(xkb, rep->firstKeyAct, rep->nKeyActs, desc); if (rep->totalKeyBehaviors > 0) desc = XkbWriteKeyBehaviors(xkb, rep, desc, client); if (rep->virtualMods) {