Blame SOURCES/0001-xkb-switch-to-array-index-loops-to-moving-pointers.patch

d09ca9
From c9b379ec5a1a34692af06056925bd0fc5f809713 Mon Sep 17 00:00:00 2001
d09ca9
From: Peter Hutterer <peter.hutterer@who-t.net>
d09ca9
Date: Tue, 5 Jul 2022 12:40:47 +1000
d09ca9
Subject: [PATCH xserver 1/3] xkb: switch to array index loops to moving
d09ca9
 pointers
d09ca9
d09ca9
Most similar loops here use a pointer that advances with each loop
d09ca9
iteration, let's do the same here for consistency.
d09ca9
d09ca9
No functional changes.
d09ca9
d09ca9
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
d09ca9
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
d09ca9
(cherry picked from commit f1070c01d616c5f21f939d5ebc533738779451ac)
d09ca9
---
d09ca9
 xkb/xkb.c | 20 ++++++++++----------
d09ca9
 1 file changed, 10 insertions(+), 10 deletions(-)
d09ca9
d09ca9
diff --git a/xkb/xkb.c b/xkb/xkb.c
d09ca9
index d056c698c..684394d77 100644
d09ca9
--- a/xkb/xkb.c
d09ca9
+++ b/xkb/xkb.c
d09ca9
@@ -5372,16 +5372,16 @@ _CheckSetSections(XkbGeometryPtr geom,
d09ca9
             row->left = rWire->left;
d09ca9
             row->vertical = rWire->vertical;
d09ca9
             kWire = (xkbKeyWireDesc *) &rWire[1];
d09ca9
-            for (k = 0; k < rWire->nKeys; k++) {
d09ca9
+            for (k = 0; k < rWire->nKeys; k++, kWire++) {
d09ca9
                 XkbKeyPtr key;
d09ca9
 
d09ca9
                 key = XkbAddGeomKey(row);
d09ca9
                 if (!key)
d09ca9
                     return BadAlloc;
d09ca9
-                memcpy(key->name.name, kWire[k].name, XkbKeyNameLength);
d09ca9
-                key->gap = kWire[k].gap;
d09ca9
-                key->shape_ndx = kWire[k].shapeNdx;
d09ca9
-                key->color_ndx = kWire[k].colorNdx;
d09ca9
+                memcpy(key->name.name, kWire->name, XkbKeyNameLength);
d09ca9
+                key->gap = kWire->gap;
d09ca9
+                key->shape_ndx = kWire->shapeNdx;
d09ca9
+                key->color_ndx = kWire->colorNdx;
d09ca9
                 if (key->shape_ndx >= geom->num_shapes) {
d09ca9
                     client->errorValue = _XkbErrCode3(0x10, key->shape_ndx,
d09ca9
                                                       geom->num_shapes);
d09ca9
@@ -5393,7 +5393,7 @@ _CheckSetSections(XkbGeometryPtr geom,
d09ca9
                     return BadMatch;
d09ca9
                 }
d09ca9
             }
d09ca9
-            rWire = (xkbRowWireDesc *) &kWire[rWire->nKeys];
d09ca9
+            rWire = (xkbRowWireDesc *)kWire;
d09ca9
         }
d09ca9
         wire = (char *) rWire;
d09ca9
         if (sWire->nDoodads > 0) {
d09ca9
@@ -5458,16 +5458,16 @@ _CheckSetShapes(XkbGeometryPtr geom,
d09ca9
                     return BadAlloc;
d09ca9
                 ol->corner_radius = olWire->cornerRadius;
d09ca9
                 ptWire = (xkbPointWireDesc *) &olWire[1];
d09ca9
-                for (p = 0, pt = ol->points; p < olWire->nPoints; p++, pt++) {
d09ca9
-                    pt->x = ptWire[p].x;
d09ca9
-                    pt->y = ptWire[p].y;
d09ca9
+                for (p = 0, pt = ol->points; p < olWire->nPoints; p++, pt++, ptWire++) {
d09ca9
+                    pt->x = ptWire->x;
d09ca9
+                    pt->y = ptWire->y;
d09ca9
                     if (client->swapped) {
d09ca9
                         swaps(&pt->x);
d09ca9
                         swaps(&pt->y);
d09ca9
                     }
d09ca9
                 }
d09ca9
                 ol->num_points = olWire->nPoints;
d09ca9
-                olWire = (xkbOutlineWireDesc *) (&ptWire[olWire->nPoints]);
d09ca9
+                olWire = (xkbOutlineWireDesc *)ptWire;
d09ca9
             }
d09ca9
             if (shapeWire->primaryNdx != XkbNoShape)
d09ca9
                 shape->primary = &shape->outlines[shapeWire->primaryNdx];
d09ca9
-- 
d09ca9
2.36.1
d09ca9