If we find the core device, move all other device pointers forward right
then and there. The break will jump out of the top loop.

They had a special on braces today, so I added some for readability (and
fixed up tab vs space indentation.

Signed-off-by: Peter Hutterer <[email protected]>
---
 hw/xfree86/common/xf86Config.c |   30 ++++++++++++++----------------
 1 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 74a7702..4a76a2d 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1139,15 +1139,14 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool 
implicitLayout)
         * removed.
         */
        if (corePointer) {
-           for (devs = servlayoutp->inputs; devs && *devs; devs++)
-               if (*devs == corePointer)
-                {
-                    free(*devs);
-                    *devs = (InputInfoPtr)0x1; /* ensure we dont skip next 
loop*/
+           for (devs = servlayoutp->inputs; devs && *devs; devs++) {
+               if (*devs == corePointer) {
+                   free(*devs);
+                   for (; devs && *devs; devs++)
+                       devs[0] = devs[1];
                    break;
-                }
-           for (; devs && *devs; devs++)
-               devs[0] = devs[1];
+               }
+           }
            count--;
        }
        corePointer = NULL;
@@ -1283,15 +1282,14 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool 
implicitLayout)
         * removed.
         */
        if (coreKeyboard) {
-           for (devs = servlayoutp->inputs; devs && *devs; devs++)
-               if (*devs == coreKeyboard)
-                {
-                    free(*devs);
-                    *devs = (InputInfoPtr)0x1; /* ensure we dont skip next 
loop */
+           for (devs = servlayoutp->inputs; devs && *devs; devs++) {
+               if (*devs == coreKeyboard) {
+                   free(*devs);
+                   for (; devs && *devs; devs++)
+                       devs[0] = devs[1];
                    break;
-                }
-           for (; devs && *devs; devs++)
-               devs[0] = devs[1];
+               }
+           }
            count--;
        }
        coreKeyboard = NULL;
-- 
1.7.5.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to