xserver: Branch 'master' - 16 commits

Keith Packard keithp at kemper.freedesktop.org
Wed Jan 22 21:17:02 PST 2014


 Xi/grabdev.c                            |    2 
 composite/compwindow.c                  |    1 
 exa/exa_accel.c                         |    1 
 exa/exa_render.c                        |    6 -
 hw/kdrive/ephyr/ephyrdriext.c           |    1 
 hw/kdrive/src/kinput.c                  |    4 
 hw/kdrive/src/kxv.c                     |    4 
 hw/vfb/InitOutput.c                     |   18 +--
 hw/xfree86/common/xf86Config.c          |    4 
 hw/xfree86/common/xf86Configure.c       |   47 ++++----
 hw/xfree86/common/xf86Helper.c          |    1 
 hw/xfree86/common/xf86Init.c            |    4 
 hw/xfree86/common/xf86fbman.c           |    3 
 hw/xfree86/dri/dri.c                    |   12 +-
 hw/xfree86/modes/xf86Crtc.c             |   30 ++---
 hw/xfree86/modes/xf86EdidModes.c        |    4 
 hw/xfree86/modes/xf86RandR12.c          |    1 
 hw/xfree86/os-support/linux/lnx_init.c  |    1 
 hw/xfree86/parser/Configint.h           |    2 
 hw/xfree86/parser/DRI.c                 |   13 +-
 hw/xfree86/parser/Device.c              |   45 ++++----
 hw/xfree86/parser/Extensions.c          |    3 
 hw/xfree86/parser/Files.c               |   15 +-
 hw/xfree86/parser/Flags.c               |   15 +-
 hw/xfree86/parser/Input.c               |   11 --
 hw/xfree86/parser/InputClass.c          |   71 ++++++-------
 hw/xfree86/parser/Layout.c              |   33 +++---
 hw/xfree86/parser/Module.c              |   15 +-
 hw/xfree86/parser/Monitor.c             |   87 ++++++++--------
 hw/xfree86/parser/Pointer.c             |   35 +++---
 hw/xfree86/parser/Screen.c              |   63 +++++-------
 hw/xfree86/parser/Vendor.c              |    9 -
 hw/xfree86/parser/Video.c               |   17 +--
 hw/xfree86/parser/read.c                |  103 +++++++++----------
 hw/xfree86/parser/scan.c                |   24 ++--
 hw/xfree86/x86emu/ops.c                 |  168 ++++++++++++++++----------------
 hw/xnest/Events.c                       |    6 -
 hw/xnest/GCOps.c                        |    4 
 hw/xnest/Init.c                         |   22 ++--
 hw/xnest/Window.c                       |    2 
 include/dix-config.h.in                 |    3 
 include/dixfontstubs.h                  |    2 
 include/xorg-server.h.in                |    3 
 os/log.c                                |    2 
 os/xdmauth.c                            |   18 +--
 os/xdmcp.c                              |   28 ++---
 randr/rrcrtc.c                          |   17 +--
 test/hashtabletest.c                    |    6 -
 test/signal-logging.c                   |    7 -
 test/xi2/protocol-common.c              |   66 ++++++------
 test/xi2/protocol-common.h              |    2 
 test/xi2/protocol-xipassivegrabdevice.c |    8 -
 test/xi2/protocol-xiquerydevice.c       |    2 
 test/xi2/protocol-xiqueryversion.c      |    4 
 54 files changed, 529 insertions(+), 546 deletions(-)

New commits:
commit 76b275d7acbfd6b28cb9e74fa4862faa6d08217d
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Jan 12 10:53:31 2014 -0800

    test/signal-formatting: Ignore compiler warnings
    
    The signal formatting tests intentionally include code which generates
    warnings with the current X server warning flags. Turn the compiler
    warnings off
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/test/signal-logging.c b/test/signal-logging.c
index 7bbd910..d894373 100644
--- a/test/signal-logging.c
+++ b/test/signal-logging.c
@@ -117,6 +117,8 @@ static void
 number_formatting(void)
 {
     int i;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Woverflow"
     long unsigned int unsigned_tests[] = { 0,/* Zero */
                                            5, /* Single digit number */
                                            12, /* Two digit decimal number */
@@ -139,6 +141,7 @@ number_formatting(void)
                                 -0x15D027BF211B37A, /* Large > 32 bit number */
                                 -0x7FFFFFFFFFFFFFFF, /* Maximum 64-bit signed number */
     } ;
+#pragma GCC diagnostic pop
 
     for (i = 0; i < sizeof(unsigned_tests) / sizeof(unsigned_tests[0]); i++)
         assert(check_number_format_test(unsigned_tests[i]));
@@ -152,6 +155,8 @@ number_formatting(void)
 
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wformat-security"
+#pragma GCC diagnostic ignored "-Wformat"
+#pragma GCC diagnostic ignored "-Wformat-extra-args"
 static void logging_format(void)
 {
     const char *log_file_path = "/tmp/Xorg-logging-test.log";
@@ -220,14 +225,12 @@ static void logging_format(void)
     assert(strcmp(logmsg, "(EE) substituted string\n") == 0);
 
     /* Invalid format */
-#warning Ignore compiler warning below "lacks type at end of format".  This is intentional.
     LogMessageVerbSigSafe(X_ERROR, -1, "%4", 4);
     read_log_msg(logmsg);
     assert(strcmp(logmsg, "(EE) ") == 0);
     LogMessageVerbSigSafe(X_ERROR, -1, "\n");
     fseek(f, 0, SEEK_END);
 
-#warning Ignore compiler warning below "unknown conversion type character".  This is intentional.
     /* %hld is bogus */
     LogMessageVerbSigSafe(X_ERROR, -1, "%hld\n", 4);
     read_log_msg(logmsg);
commit 12ea81792868c10a89a06ce9a9e8f707be283569
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Jan 12 10:44:22 2014 -0800

    test/hashtabletest: Clean up -Wshadow errors
    
    Declare 'XID id' local to each scope it is used in, rather than having
    the first use be a function-wide declaration.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/test/hashtabletest.c b/test/hashtabletest.c
index 6af14a8..ceadfa7 100644
--- a/test/hashtabletest.c
+++ b/test/hashtabletest.c
@@ -26,7 +26,6 @@ static int
 test1(void)
 {
     HashTable h;
-    XID id;
     int c;
     int ok = 1;
     const int numKeys = 420;
@@ -36,7 +35,7 @@ test1(void)
 
     for (c = 0; c < numKeys; ++c) {
       int *dest;
-      id = c;
+      XID id = c;
       dest = ht_add(h, &id);
       if (dest) {
         *dest = 2 * c;
@@ -85,7 +84,6 @@ static int
 test2(void)
 {
     HashTable h;
-    XID id;
     int c;
     int ok = 1;
     const int numKeys = 420;
@@ -94,7 +92,7 @@ test2(void)
     h = ht_create(sizeof(XID), 0, ht_resourceid_hash, ht_resourceid_compare, NULL);
 
     for (c = 0; c < numKeys; ++c) {
-      id = c;
+      XID id = c;
       ht_add(h, &id);
     }
 
commit 7104f0f338fa96824a463331d6099a76ee3c21ac
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Jan 12 10:42:37 2014 -0800

    test/xi2: Clean up -Wshadow warnings
    
    protocol-common declares a bunch of pretty generic names; fix shadows
    of these names.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
index e171115..9a429e4 100644
--- a/test/xi2/protocol-common.c
+++ b/test/xi2/protocol-common.c
@@ -41,7 +41,7 @@ WindowRec root;
 WindowRec window;
 static ClientRec server_client;
 
-void *userdata;
+void *global_userdata;
 
 static void
 fake_init_sprite(DeviceIntPtr dev)
@@ -136,34 +136,34 @@ struct devices
 init_devices(void)
 {
     ClientRec client;
-    struct devices devices;
+    struct devices local_devices;
 
     client = init_client(0, NULL);
 
-    AllocDevicePair(&client, "Virtual core", &devices.vcp, &devices.vck,
+    AllocDevicePair(&client, "Virtual core", &local_devices.vcp, &local_devices.vck,
                     CorePointerProc, CoreKeyboardProc, TRUE);
-    inputInfo.pointer = devices.vcp;
+    inputInfo.pointer = local_devices.vcp;
 
-    inputInfo.keyboard = devices.vck;
-    ActivateDevice(devices.vcp, FALSE);
-    ActivateDevice(devices.vck, FALSE);
-    EnableDevice(devices.vcp, FALSE);
-    EnableDevice(devices.vck, FALSE);
+    inputInfo.keyboard = local_devices.vck;
+    ActivateDevice(local_devices.vcp, FALSE);
+    ActivateDevice(local_devices.vck, FALSE);
+    EnableDevice(local_devices.vcp, FALSE);
+    EnableDevice(local_devices.vck, FALSE);
 
-    AllocDevicePair(&client, "", &devices.mouse, &devices.kbd,
+    AllocDevicePair(&client, "", &local_devices.mouse, &local_devices.kbd,
                     TestPointerProc, CoreKeyboardProc, FALSE);
-    ActivateDevice(devices.mouse, FALSE);
-    ActivateDevice(devices.kbd, FALSE);
-    EnableDevice(devices.mouse, FALSE);
-    EnableDevice(devices.kbd, FALSE);
+    ActivateDevice(local_devices.mouse, FALSE);
+    ActivateDevice(local_devices.kbd, FALSE);
+    EnableDevice(local_devices.mouse, FALSE);
+    EnableDevice(local_devices.kbd, FALSE);
 
-    devices.num_devices = 4;
-    devices.num_master_devices = 2;
+    local_devices.num_devices = 4;
+    local_devices.num_master_devices = 2;
 
-    fake_init_sprite(devices.mouse);
-    fake_init_sprite(devices.vcp);
+    fake_init_sprite(local_devices.mouse);
+    fake_init_sprite(local_devices.vcp);
 
-    return devices;
+    return local_devices;
 }
 
 /* Create minimal client, with the given buffer and len as request buffer */
@@ -187,20 +187,20 @@ init_client(int len, void *data)
 }
 
 void
-init_window(WindowPtr window, WindowPtr parent, int id)
+init_window(WindowPtr local_window, WindowPtr parent, int id)
 {
-    memset(window, 0, sizeof(*window));
+    memset(local_window, 0, sizeof(*local_window));
 
-    window->drawable.id = id;
+    local_window->drawable.id = id;
     if (parent) {
-        window->drawable.x = 30;
-        window->drawable.y = 50;
-        window->drawable.width = 100;
-        window->drawable.height = 200;
+        local_window->drawable.x = 30;
+        local_window->drawable.y = 50;
+        local_window->drawable.width = 100;
+        local_window->drawable.height = 200;
     }
-    window->parent = parent;
-    window->optional = calloc(1, sizeof(WindowOptRec));
-    assert(window->optional);
+    local_window->parent = parent;
+    local_window->optional = calloc(1, sizeof(WindowOptRec));
+    assert(local_window->optional);
 }
 
 extern DevPrivateKeyRec miPointerScreenKeyRec;
@@ -208,18 +208,18 @@ extern DevPrivateKeyRec miPointerPrivKeyRec;
 
 /* Needed for the screen setup, otherwise we crash during sprite initialization */
 static Bool
-device_cursor_init(DeviceIntPtr dev, ScreenPtr screen)
+device_cursor_init(DeviceIntPtr dev, ScreenPtr local_screen)
 {
     return TRUE;
 }
 
 static void
-device_cursor_cleanup(DeviceIntPtr dev, ScreenPtr screen)
+device_cursor_cleanup(DeviceIntPtr dev, ScreenPtr local_screen)
 {
 }
 
 static Bool
-set_cursor_pos(DeviceIntPtr dev, ScreenPtr screen, int x, int y, Bool event)
+set_cursor_pos(DeviceIntPtr dev, ScreenPtr local_screen, int x, int y, Bool event)
 {
     return TRUE;
 }
@@ -264,5 +264,5 @@ __wrap_WriteToClient(ClientPtr client, int len, void *data)
 {
     assert(reply_handler != NULL);
 
-    (*reply_handler) (client, len, data, userdata);
+    (*reply_handler) (client, len, data, global_userdata);
 }
diff --git a/test/xi2/protocol-common.h b/test/xi2/protocol-common.h
index d303068..f850478 100644
--- a/test/xi2/protocol-common.h
+++ b/test/xi2/protocol-common.h
@@ -91,7 +91,7 @@ extern struct devices devices;
 /**
  * test-specific userdata, passed into the reply handler.
  */
-extern void *userdata;
+extern void *global_userdata;
 
 /**
  * The reply handler called from WriteToClient. Set this handler if you need
diff --git a/test/xi2/protocol-xipassivegrabdevice.c b/test/xi2/protocol-xipassivegrabdevice.c
index 84b386b..1e2341e 100644
--- a/test/xi2/protocol-xipassivegrabdevice.c
+++ b/test/xi2/protocol-xipassivegrabdevice.c
@@ -136,7 +136,7 @@ request_XIPassiveGrabDevice(ClientPtr client, xXIPassiveGrabDeviceReq * req,
                             int error, int errval)
 {
     int rc;
-    int modifiers;
+    int local_modifiers;
 
     rc = ProcXIPassiveGrabDevice(&client_request);
     assert(rc == error);
@@ -151,12 +151,12 @@ request_XIPassiveGrabDevice(ClientPtr client, xXIPassiveGrabDeviceReq * req,
     swapl(&req->cursor);
     swapl(&req->detail);
     swaps(&req->deviceid);
-    modifiers = req->num_modifiers;
+    local_modifiers = req->num_modifiers;
     swaps(&req->num_modifiers);
     swaps(&req->mask_len);
 
-    while (modifiers--) {
-        CARD32 *mod = ((CARD32 *) (req + 1)) + modifiers;
+    while (local_modifiers--) {
+        CARD32 *mod = ((CARD32 *) (req + 1)) + local_modifiers;
 
         swapl(mod);
     }
diff --git a/test/xi2/protocol-xiquerydevice.c b/test/xi2/protocol-xiquerydevice.c
index c066daa..deef1f1 100644
--- a/test/xi2/protocol-xiquerydevice.c
+++ b/test/xi2/protocol-xiquerydevice.c
@@ -312,7 +312,7 @@ test_XIQueryDevice(void)
     struct test_data data;
 
     reply_handler = reply_XIQueryDevice;
-    userdata = &data;
+    global_userdata = &data;
     request_init(&request, XIQueryDevice);
 
     printf("Testing XIAllDevices.\n");
diff --git a/test/xi2/protocol-xiqueryversion.c b/test/xi2/protocol-xiqueryversion.c
index ed75c89..3749b30 100644
--- a/test/xi2/protocol-xiqueryversion.c
+++ b/test/xi2/protocol-xiqueryversion.c
@@ -113,7 +113,7 @@ request_XIQueryVersion(int smaj, int smin, int cmaj, int cmin, int error)
 
     request_init(&request, XIQueryVersion);
     client = init_client(request.length, &request);
-    userdata = (void *) &versions;
+    global_userdata = (void *) &versions;
 
     /* Change the server to support smaj.smin */
     XIVersion.major_version = smaj;
@@ -206,7 +206,7 @@ test_XIQueryVersion_multiple(void)
     XIVersion.minor_version = 2;
 
     reply_handler = reply_XIQueryVersion_multiple;
-    userdata = (void *) &versions;
+    global_userdata = (void *) &versions;
 
     /* run 1 */
 
commit 92a9495800cf59b917c30d5fbaf4b7eca10d19cf
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Jan 12 10:42:01 2014 -0800

    kdrive/ephyr: Remove extra 'i' variable in ProcXF86DRIGetDrawableInfo
    
    Just re-use the top-level one
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
index e2b33db..8368d12 100644
--- a/hw/kdrive/ephyr/ephyrdriext.c
+++ b/hw/kdrive/ephyr/ephyrdriext.c
@@ -1098,7 +1098,6 @@ ProcXF86DRIGetDrawableInfo(register ClientPtr client)
     if (rep.numClipRects) {
         if (clipRects) {
             ScreenPtr pScreen = screenInfo.screens[stuff->screen];
-            int i = 0;
 
             EPHYR_LOG("clip list of host gl drawable:\n");
             for (i = 0; i < rep.numClipRects; i++) {
commit 988877065486d0f25cc85be5be05f4523cc883c7
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:57:09 2013 -0800

    randr: Eliminate -Wshadow warnings
    
    Don't use rrScrPriv for nested screen private fetching.
    
    Eliminate a duplicate fetch of the randr screen private in rrCheckPixmapBounding.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index df1e3f1..6e181ba 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -475,21 +475,21 @@ rrCheckPixmapBounding(ScreenPtr pScreen,
     }
 
     xorg_list_for_each_entry(slave, &pScreen->output_slave_list, output_head) {
-        rrScrPriv(slave);
-        for (c = 0; c < pScrPriv->numCrtcs; c++)
-            if (pScrPriv->crtcs[c] == rr_crtc) {
+        rrScrPrivPtr    slave_priv = rrGetScrPriv(slave);
+        for (c = 0; c < slave_priv->numCrtcs; c++)
+            if (slave_priv->crtcs[c] == rr_crtc) {
                 newbox.x1 = x;
                 newbox.x2 = x + w;
                 newbox.y1 = y;
                 newbox.y2 = y + h;
             }
             else {
-                if (!pScrPriv->crtcs[c]->mode)
+                if (!slave_priv->crtcs[c]->mode)
                     continue;
-                newbox.x1 = pScrPriv->crtcs[c]->x;
-                newbox.x2 = pScrPriv->crtcs[c]->x + pScrPriv->crtcs[c]->mode->mode.width;
-                newbox.y1 = pScrPriv->crtcs[c]->y;
-                newbox.y2 = pScrPriv->crtcs[c]->y + pScrPriv->crtcs[c]->mode->mode.height;
+                newbox.x1 = slave_priv->crtcs[c]->x;
+                newbox.x2 = slave_priv->crtcs[c]->x + slave_priv->crtcs[c]->mode->mode.width;
+                newbox.y1 = slave_priv->crtcs[c]->y;
+                newbox.y2 = slave_priv->crtcs[c]->y + slave_priv->crtcs[c]->mode->mode.height;
             }
         RegionInit(&new_crtc_region, &newbox, 1);
         RegionUnion(&total_region, &total_region, &new_crtc_region);
@@ -503,7 +503,6 @@ rrCheckPixmapBounding(ScreenPtr pScreen,
         new_height == screen_pixmap->drawable.height) {
         ErrorF("adjust shatters %d %d\n", newsize->x1, newsize->x2);
     } else {
-        rrScrPriv(pScreen);
         pScrPriv->rrScreenSetSize(pScreen, new_width, new_height, 0, 0);
     }
 
commit f46c487625e1ffbc78df5153128c68bd6bc41104
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:56:36 2013 -0800

    hw/xnest: Eliminate shadowed names
    
    Just rename stuff; nothing fancy here.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/hw/xnest/Events.c b/hw/xnest/Events.c
index 447d5a7..3ff095b 100644
--- a/hw/xnest/Events.c
+++ b/hw/xnest/Events.c
@@ -64,15 +64,15 @@ SetTimeSinceLastInputEvent(void)
 }
 
 static Bool
-xnestExposurePredicate(Display * display, XEvent * event, char *args)
+xnestExposurePredicate(Display * dpy, XEvent * event, char *args)
 {
     return event->type == Expose || event->type == ProcessedExpose;
 }
 
 static Bool
-xnestNotExposurePredicate(Display * display, XEvent * event, char *args)
+xnestNotExposurePredicate(Display * dpy, XEvent * event, char *args)
 {
-    return !xnestExposurePredicate(display, event, args);
+    return !xnestExposurePredicate(dpy, event, args);
 }
 
 void
diff --git a/hw/xnest/GCOps.c b/hw/xnest/GCOps.c
index fa60231..e1cf9d6 100644
--- a/hw/xnest/GCOps.c
+++ b/hw/xnest/GCOps.c
@@ -95,7 +95,7 @@ xnestPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y,
 }
 
 static int
-xnestIgnoreErrorHandler (Display     *display,
+xnestIgnoreErrorHandler (Display     *dpy,
                          XErrorEvent *event)
 {
     return False; /* return value is ignored */
@@ -127,7 +127,7 @@ xnestGetImage(DrawablePtr pDrawable, int x, int y, int w, int h,
 }
 
 static Bool
-xnestBitBlitPredicate(Display * display, XEvent * event, char *args)
+xnestBitBlitPredicate(Display * dpy, XEvent * event, char *args)
 {
     return event->type == GraphicsExpose || event->type == NoExpose;
 }
diff --git a/hw/xnest/Init.c b/hw/xnest/Init.c
index 330b8ca..d9f490b 100644
--- a/hw/xnest/Init.c
+++ b/hw/xnest/Init.c
@@ -46,29 +46,29 @@ is" without express or implied warranty.
 Bool xnestDoFullGeneration = True;
 
 void
-InitOutput(ScreenInfo * screenInfo, int argc, char *argv[])
+InitOutput(ScreenInfo * screen_info, int argc, char *argv[])
 {
     int i, j;
 
     xnestOpenDisplay(argc, argv);
 
-    screenInfo->imageByteOrder = ImageByteOrder(xnestDisplay);
-    screenInfo->bitmapScanlineUnit = BitmapUnit(xnestDisplay);
-    screenInfo->bitmapScanlinePad = BitmapPad(xnestDisplay);
-    screenInfo->bitmapBitOrder = BitmapBitOrder(xnestDisplay);
+    screen_info->imageByteOrder = ImageByteOrder(xnestDisplay);
+    screen_info->bitmapScanlineUnit = BitmapUnit(xnestDisplay);
+    screen_info->bitmapScanlinePad = BitmapPad(xnestDisplay);
+    screen_info->bitmapBitOrder = BitmapBitOrder(xnestDisplay);
 
-    screenInfo->numPixmapFormats = 0;
+    screen_info->numPixmapFormats = 0;
     for (i = 0; i < xnestNumPixmapFormats; i++)
         for (j = 0; j < xnestNumDepths; j++)
             if ((xnestPixmapFormats[i].depth == 1) ||
                 (xnestPixmapFormats[i].depth == xnestDepths[j])) {
-                screenInfo->formats[screenInfo->numPixmapFormats].depth =
+                screen_info->formats[screen_info->numPixmapFormats].depth =
                     xnestPixmapFormats[i].depth;
-                screenInfo->formats[screenInfo->numPixmapFormats].bitsPerPixel =
+                screen_info->formats[screen_info->numPixmapFormats].bitsPerPixel =
                     xnestPixmapFormats[i].bits_per_pixel;
-                screenInfo->formats[screenInfo->numPixmapFormats].scanlinePad =
+                screen_info->formats[screen_info->numPixmapFormats].scanlinePad =
                     xnestPixmapFormats[i].scanline_pad;
-                screenInfo->numPixmapFormats++;
+                screen_info->numPixmapFormats++;
                 break;
             }
 
@@ -80,7 +80,7 @@ InitOutput(ScreenInfo * screenInfo, int argc, char *argv[])
     for (i = 0; i < xnestNumScreens; i++)
         AddScreen(xnestOpenScreen, argc, argv);
 
-    xnestNumScreens = screenInfo->numScreens;
+    xnestNumScreens = screen_info->numScreens;
 
     xnestDoFullGeneration = xnestFullGeneration;
 }
diff --git a/hw/xnest/Window.c b/hw/xnest/Window.c
index c33cbaa..fc87e82 100644
--- a/hw/xnest/Window.c
+++ b/hw/xnest/Window.c
@@ -380,7 +380,7 @@ xnestClipNotify(WindowPtr pWin, int dx, int dy)
 }
 
 static Bool
-xnestWindowExposurePredicate(Display * display, XEvent * event, XPointer ptr)
+xnestWindowExposurePredicate(Display * dpy, XEvent * event, XPointer ptr)
 {
     return (event->type == Expose && event->xexpose.window == *(Window *) ptr);
 }
commit 1f3676a81ef2c52699bdfcf1fb9da7e4e79b00b7
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:55:43 2013 -0800

    hw/vfb: Rename screenInfo parameter to screen_info
    
    Avoid shadowing the global screenInfo value.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index d102722..2175ac6 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -899,7 +899,7 @@ void vfbExtensionInit(void)
 }
 
 void
-InitOutput(ScreenInfo * screenInfo, int argc, char **argv)
+InitOutput(ScreenInfo * screen_info, int argc, char **argv)
 {
     int i;
     int NumFormats = 0;
@@ -935,18 +935,18 @@ InitOutput(ScreenInfo * screenInfo, int argc, char **argv)
         if (vfbPixmapDepths[i]) {
             if (NumFormats >= MAXFORMATS)
                 FatalError("MAXFORMATS is too small for this server\n");
-            screenInfo->formats[NumFormats].depth = i;
-            screenInfo->formats[NumFormats].bitsPerPixel = vfbBitsPerPixel(i);
-            screenInfo->formats[NumFormats].scanlinePad = BITMAP_SCANLINE_PAD;
+            screen_info->formats[NumFormats].depth = i;
+            screen_info->formats[NumFormats].bitsPerPixel = vfbBitsPerPixel(i);
+            screen_info->formats[NumFormats].scanlinePad = BITMAP_SCANLINE_PAD;
             NumFormats++;
         }
     }
 
-    screenInfo->imageByteOrder = IMAGE_BYTE_ORDER;
-    screenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
-    screenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD;
-    screenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
-    screenInfo->numPixmapFormats = NumFormats;
+    screen_info->imageByteOrder = IMAGE_BYTE_ORDER;
+    screen_info->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
+    screen_info->bitmapScanlinePad = BITMAP_SCANLINE_PAD;
+    screen_info->bitmapBitOrder = BITMAP_BIT_ORDER;
+    screen_info->numPixmapFormats = NumFormats;
 
     /* initialize screens */
 
commit 89c0fa3d6c8ae67084a30395085db6d872d9d6de
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:55:06 2013 -0800

    kdrive: Fix -Wshadow errors
    
    Just rename stuff to avoid conflicts.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index 7d09e28..a539ca5 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -1940,7 +1940,7 @@ _KdEnqueuePointerEvent(KdPointerInfo * pi, int type, int x, int y, int z,
 }
 
 void
-KdBlockHandler(ScreenPtr pScreen, void *timeout, void *readmask)
+KdBlockHandler(ScreenPtr pScreen, void *timeo, void *readmask)
 {
     KdPointerInfo *pi;
     int myTimeout = 0;
@@ -1962,7 +1962,7 @@ KdBlockHandler(ScreenPtr pScreen, void *timeout, void *readmask)
         myTimeout = 20;
     }
     if (myTimeout > 0)
-        AdjustWaitForDelay(timeout, myTimeout);
+        AdjustWaitForDelay(timeo, myTimeout);
 }
 
 void
diff --git a/hw/kdrive/src/kxv.c b/hw/kdrive/src/kxv.c
index 9e76ead..445eb60 100644
--- a/hw/kdrive/src/kxv.c
+++ b/hw/kdrive/src/kxv.c
@@ -1821,14 +1821,14 @@ KdXVCopyPlanarData(KdScreenInfo * screen, CARD8 *src, CARD8 *dst, int randr,
 
     w >>= 1;
     for (j = 0; j < h; j++) {
-        CARD32 *dst = (CARD32 *) dst1;
+        CARD32 *dst32 = (CARD32 *) dst1;
         CARD8 *s1l = src1;
         CARD8 *s1r = src1 + srcNext;
         CARD8 *s2 = src2;
         CARD8 *s3 = src3;
 
         for (i = 0; i < w; i++) {
-            *dst++ = *s1l | (*s1r << 16) | (*s3 << 8) | (*s2 << 24);
+            *dst32++ = *s1l | (*s1r << 16) | (*s3 << 8) | (*s2 << 24);
             s1l += srcRight;
             s1r += srcRight;
             s2 += srcRight2;
commit 9c108b3ccdb4086002b83d9ad66f5619e9ec95bb
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:53:50 2013 -0800

    exa: Fix -Wshadow warnings
    
    In exa_accel, there was a duplicate fetch of a pixmap private field.
    
    exa_render just had a regular shadowed value.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 0e948f4..9c742bd 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -1039,7 +1039,6 @@ exaFillRegionSolid(DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
             pExaPixmap->sys_ptr && pDrawable->type == DRAWABLE_PIXMAP &&
             pDrawable->width == 1 && pDrawable->height == 1 &&
             pDrawable->bitsPerPixel != 24) {
-            ExaPixmapPriv(pPixmap);
             RegionPtr pending_damage = DamagePendingRegion(pExaPixmap->pDamage);
 
             switch (pDrawable->bitsPerPixel) {
diff --git a/exa/exa_render.c b/exa/exa_render.c
index 172e2b5..c4edf40 100644
--- a/exa/exa_render.c
+++ b/exa/exa_render.c
@@ -915,7 +915,7 @@ exaComposite(CARD8 op,
             if (!pSrc->repeat && xSrc >= 0 && ySrc >= 0 &&
                 (xSrc + width <= pSrc->pDrawable->width) &&
                 (ySrc + height <= pSrc->pDrawable->height)) {
-                Bool ret;
+                Bool suc;
 
                 xDst += pDst->pDrawable->x;
                 yDst += pDst->pDrawable->y;
@@ -927,7 +927,7 @@ exaComposite(CARD8 op,
                                               yDst, width, height))
                     goto done;
 
-                ret = exaHWCopyNtoN(pSrc->pDrawable, pDst->pDrawable, NULL,
+                suc = exaHWCopyNtoN(pSrc->pDrawable, pDst->pDrawable, NULL,
                                     RegionRects(&region),
                                     RegionNumRects(&region), xSrc - xDst,
                                     ySrc - yDst, FALSE, FALSE);
@@ -939,7 +939,7 @@ exaComposite(CARD8 op,
                 xSrc -= pSrc->pDrawable->x;
                 ySrc -= pSrc->pDrawable->y;
 
-                if (!ret)
+                if (!suc)
                     goto fallback;
 
                 goto done;
commit 04e320a4e4e1f46bf95e36078d93b4d18a0ef855
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:52:58 2013 -0800

    composite: Remove duplicate window pixmap fetch
    
    There's nothing between the previous fetch and this one that could
    cause the window pixmap to have changed.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/composite/compwindow.c b/composite/compwindow.c
index 8dce21d..6c24349 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -475,7 +475,6 @@ compCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
              * need to be copied to pNewPixmap.
              */
             RegionRec rgnDst;
-            PixmapPtr pPixmap = (*pScreen->GetWindowPixmap) (pWin);
             GCPtr pGC;
 
             dx = ptOldOrg.x - pWin->drawable.x;
commit 07b03e721e4dbec1a640c9b3bb8a2d5902587e63
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:41:19 2013 -0800

    xfree86: Fix -Wshadow warnings
    
    Just rename variables to eliminate -Wshadow warnings.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 5be1693..258b22b 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1677,7 +1677,7 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout,
  */
 static Bool
 configImpliedLayout(serverLayoutPtr servlayoutp, XF86ConfScreenPtr conf_screen,
-                    XF86ConfigPtr xf86configptr)
+                    XF86ConfigPtr conf_ptr)
 {
     MessageType from;
     XF86ConfScreenPtr s;
@@ -1722,7 +1722,7 @@ configImpliedLayout(serverLayoutPtr servlayoutp, XF86ConfScreenPtr conf_screen,
 
     memset(&layout, 0, sizeof(layout));
     layout.lay_identifier = servlayoutp->id;
-    if (xf86layoutAddInputDevices(xf86configptr, &layout) > 0) {
+    if (xf86layoutAddInputDevices(conf_ptr, &layout) > 0) {
         if (!configInputDevices(&layout, servlayoutp))
             return FALSE;
         from = X_DEFAULT;
diff --git a/hw/xfree86/common/xf86Configure.c b/hw/xfree86/common/xf86Configure.c
index 1348b27..30dc550 100644
--- a/hw/xfree86/common/xf86Configure.c
+++ b/hw/xfree86/common/xf86Configure.c
@@ -206,17 +206,17 @@ configureScreenSection(int screennum)
     ptr->scrn_device_str = tmp;
 
     for (i = 0; i < sizeof(depths) / sizeof(depths[0]); i++) {
-        XF86ConfDisplayPtr display;
+        XF86ConfDisplayPtr conf_display;
 
-        display = calloc(1, sizeof(XF86ConfDisplayRec));
-        display->disp_depth = depths[i];
-        display->disp_black.red = display->disp_white.red = -1;
-        display->disp_black.green = display->disp_white.green = -1;
-        display->disp_black.blue = display->disp_white.blue = -1;
+        conf_display = calloc(1, sizeof(XF86ConfDisplayRec));
+        conf_display->disp_depth = depths[i];
+        conf_display->disp_black.red = conf_display->disp_white.red = -1;
+        conf_display->disp_black.green = conf_display->disp_white.green = -1;
+        conf_display->disp_black.blue = conf_display->disp_white.blue = -1;
         ptr->scrn_display_lst = (XF86ConfDisplayPtr) xf86addListItem((glp) ptr->
                                                                      scrn_display_lst,
                                                                      (glp)
-                                                                     display);
+                                                                     conf_display);
     }
 
     return ptr;
@@ -375,7 +375,6 @@ configureLayoutSection(void)
             aptr->adj_refscreen = NULL;
         }
         else {
-            char *tmp;
             aptr->adj_where = CONF_ADJ_RIGHTOF;
             XNFasprintf(&tmp, "Screen%d", scrnum - 1);
             aptr->adj_refscreen = tmp;
@@ -586,24 +585,24 @@ DoConfigure(void)
 
     /* Add device, monitor and screen sections for detected devices */
     for (screennum = 0; screennum < nDevToConfig; screennum++) {
-        XF86ConfDevicePtr DevicePtr;
-        XF86ConfMonitorPtr MonitorPtr;
-        XF86ConfScreenPtr ScreenPtr;
+        XF86ConfDevicePtr device_ptr;
+        XF86ConfMonitorPtr monitor_ptr;
+        XF86ConfScreenPtr screen_ptr;
 
-        DevicePtr = configureDeviceSection(screennum);
+        device_ptr = configureDeviceSection(screennum);
         xf86config->conf_device_lst = (XF86ConfDevicePtr) xf86addListItem((glp)
                                                                           xf86config->
                                                                           conf_device_lst,
                                                                           (glp)
-                                                                          DevicePtr);
-        MonitorPtr = configureMonitorSection(screennum);
-        xf86config->conf_monitor_lst = (XF86ConfMonitorPtr) xf86addListItem((glp) xf86config->conf_monitor_lst, (glp) MonitorPtr);
-        ScreenPtr = configureScreenSection(screennum);
+                                                                          device_ptr);
+        monitor_ptr = configureMonitorSection(screennum);
+        xf86config->conf_monitor_lst = (XF86ConfMonitorPtr) xf86addListItem((glp) xf86config->conf_monitor_lst, (glp) monitor_ptr);
+        screen_ptr = configureScreenSection(screennum);
         xf86config->conf_screen_lst = (XF86ConfScreenPtr) xf86addListItem((glp)
                                                                           xf86config->
                                                                           conf_screen_lst,
                                                                           (glp)
-                                                                          ScreenPtr);
+                                                                          screen_ptr);
     }
 
     xf86config->conf_files = configureFilesSection();
@@ -714,27 +713,27 @@ DoConfigure(void)
     xf86freeScreenList(xf86config->conf_screen_lst);
     xf86config->conf_screen_lst = NULL;
     for (j = 0; j < xf86NumScreens; j++) {
-        XF86ConfMonitorPtr MonitorPtr;
-        XF86ConfScreenPtr ScreenPtr;
+        XF86ConfMonitorPtr monitor_ptr;
+        XF86ConfScreenPtr screen_ptr;
 
         ConfiguredMonitor = NULL;
 
         if ((*xf86Screens[dev2screen[j]]->PreInit) (xf86Screens[dev2screen[j]],
                                                     PROBE_DETECT) &&
             ConfiguredMonitor) {
-            MonitorPtr = configureDDCMonitorSection(j);
+            monitor_ptr = configureDDCMonitorSection(j);
         }
         else {
-            MonitorPtr = configureMonitorSection(j);
+            monitor_ptr = configureMonitorSection(j);
         }
-        ScreenPtr = configureScreenSection(j);
+        screen_ptr = configureScreenSection(j);
 
-        xf86config->conf_monitor_lst = (XF86ConfMonitorPtr) xf86addListItem((glp) xf86config->conf_monitor_lst, (glp) MonitorPtr);
+        xf86config->conf_monitor_lst = (XF86ConfMonitorPtr) xf86addListItem((glp) xf86config->conf_monitor_lst, (glp) monitor_ptr);
         xf86config->conf_screen_lst = (XF86ConfScreenPtr) xf86addListItem((glp)
                                                                           xf86config->
                                                                           conf_screen_lst,
                                                                           (glp)
-                                                                          ScreenPtr);
+                                                                          screen_ptr);
     }
 
     if (xf86writeConfigFile(filename, xf86config) == 0) {
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 0916dec..2c0629d 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -421,7 +421,6 @@ xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp,
              * Check for DefaultDepth and DefaultFbBpp options in the
              * Device sections.
              */
-            int i;
             GDevPtr device;
             Bool found = FALSE;
 
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 7c72aa9..9c8a86a 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -309,7 +309,7 @@ xf86CreateRootWindow(WindowPtr pWin)
     int err = Success;
     ScreenPtr pScreen = pWin->drawable.pScreen;
     RootWinPropPtr pProp;
-    CreateWindowProcPtr CreateWindow = (CreateWindowProcPtr)
+    CreateWindowProcPtr create_window = (CreateWindowProcPtr)
         dixLookupPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey);
 
     DebugF("xf86CreateRootWindow(%p)\n", pWin);
@@ -323,7 +323,7 @@ xf86CreateRootWindow(WindowPtr pWin)
     }
 
     /* Unhook this function ... */
-    pScreen->CreateWindow = CreateWindow;
+    pScreen->CreateWindow = create_window;
     dixSetPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey, NULL);
 
     /* ... and call the previous CreateWindow fuction, if any */
diff --git a/hw/xfree86/common/xf86fbman.c b/hw/xfree86/common/xf86fbman.c
index dafaad3..db715bd 100644
--- a/hw/xfree86/common/xf86fbman.c
+++ b/hw/xfree86/common/xf86fbman.c
@@ -1122,11 +1122,8 @@ localQueryLargestOffscreenLinear(ScreenPtr pScreen,
 
         if (localQueryLargestOffscreenArea(pScreen, &w, &h, gran,
                                            FAVOR_WIDTH_THEN_AREA, priority)) {
-            FBManagerPtr offman;
             BoxPtr extents;
 
-            offman = (FBManagerPtr) dixLookupPrivate(&pScreen->devPrivates,
-                                                     xf86FBScreenKey);
             extents = RegionExtents(offman->InitialBoxes);
             if ((extents->x2 - extents->x1) == w)
                 *size = w * h;
diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index 38bfc1d..6033999 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -460,14 +460,14 @@ DRIScreenInit(ScreenPtr pScreen, DRIInfoPtr pDRIInfo, int *pDRMFD)
         /* Add tags for reserved contexts */
         if ((reserved = drmGetReservedContextList(pDRIPriv->drmFD,
                                                   &reserved_count))) {
-            int i;
+            int r;
             void *tag;
 
-            for (i = 0; i < reserved_count; i++) {
+            for (r = 0; r < reserved_count; r++) {
                 tag = DRICreateContextPrivFromHandle(pScreen,
-                                                     reserved[i],
+                                                     reserved[r],
                                                      DRI_CONTEXT_RESERVED);
-                drmAddContextTag(pDRIPriv->drmFD, reserved[i], tag);
+                drmAddContextTag(pDRIPriv->drmFD, reserved[r], tag);
             }
             drmFreeReservedContextList(reserved);
             DRIDrvMsg(pScreen->myNum, X_INFO,
@@ -684,9 +684,9 @@ DRICloseScreen(ScreenPtr pScreen)
                 pDRIPriv->wrap.ClipNotify = NULL;
             }
             if (pDRIInfo->wrap.AdjustFrame) {
-                ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+                ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
 
-                pScrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame;
+                scrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame;
                 pDRIPriv->wrap.AdjustFrame = NULL;
             }
 
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 42db8d7..87ba0b7 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -185,10 +185,10 @@ xf86CrtcSetScreenSubpixelOrder(ScreenPtr pScreen)
     Bool has_none = FALSE;
     ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
-    int c, o;
+    int icrtc, o;
 
-    for (c = 0; c < xf86_config->num_crtc; c++) {
-        xf86CrtcPtr crtc = xf86_config->crtc[c];
+    for (icrtc = 0; icrtc < xf86_config->num_crtc; icrtc++) {
+        xf86CrtcPtr crtc = xf86_config->crtc[icrtc];
 
         for (o = 0; o < xf86_config->num_output; o++) {
             xf86OutputPtr output = xf86_config->output[o];
@@ -216,20 +216,20 @@ xf86CrtcSetScreenSubpixelOrder(ScreenPtr pScreen)
                 SubPixelVerticalBGR,
             };
             int rotate;
-            int c;
+            int sc;
 
             for (rotate = 0; rotate < 4; rotate++)
                 if (crtc->rotation & (1 << rotate))
                     break;
-            for (c = 0; c < 4; c++)
-                if (circle[c] == subpixel_order)
+            for (sc = 0; sc < 4; sc++)
+                if (circle[sc] == subpixel_order)
                     break;
-            c = (c + rotate) & 0x3;
-            if ((crtc->rotation & RR_Reflect_X) && !(c & 1))
-                c ^= 2;
-            if ((crtc->rotation & RR_Reflect_Y) && (c & 1))
-                c ^= 2;
-            subpixel_order = circle[c];
+            sc = (sc + rotate) & 0x3;
+            if ((crtc->rotation & RR_Reflect_X) && !(sc & 1))
+                sc ^= 2;
+            if ((crtc->rotation & RR_Reflect_Y) && (sc & 1))
+                sc ^= 2;
+            subpixel_order = circle[sc];
             break;
         }
     }
@@ -2148,10 +2148,10 @@ xf86TargetPreferred(ScrnInfoPtr scrn, xf86CrtcConfigPtr config,
                 }
                 else {
                     for (mode = output->probed_modes; mode; mode = mode->next) {
-                        Rotation r = output->initial_rotation;
+                        Rotation ir = output->initial_rotation;
 
-                        if (xf86ModeWidth(mode, r) == pref_width &&
-                            xf86ModeHeight(mode, r) == pref_height) {
+                        if (xf86ModeWidth(mode, ir) == pref_width &&
+                            xf86ModeHeight(mode, ir) == pref_height) {
                             preferred[o] = mode;
                             match = TRUE;
                         }
diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c
index 4ee862d..a56f6ba 100644
--- a/hw/xfree86/modes/xf86EdidModes.c
+++ b/hw/xfree86/modes/xf86EdidModes.c
@@ -973,11 +973,11 @@ handle_cea_svd(struct cea_video_block *video, void *data)
 }
 
 static DisplayModePtr
-DDCModesFromCEAExtension(int scrnIndex, xf86MonPtr MonPtr)
+DDCModesFromCEAExtension(int scrnIndex, xf86MonPtr mon_ptr)
 {
     DisplayModePtr Modes = NULL;
 
-    xf86ForEachVideoBlock(MonPtr, handle_cea_svd, &Modes);
+    xf86ForEachVideoBlock(mon_ptr, handle_cea_svd, &Modes);
 
     return Modes;
 }
diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index f7a7d44..66139dc 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -1202,7 +1202,6 @@ xf86RandR12CrtcSet(ScreenPtr pScreen,
 
         if (randr_mode) {
             DisplayModeRec mode;
-            RRTransformPtr transform = RRCrtcGetTransform(randr_crtc);
 
             xf86RandRModeConvert(pScrn, randr_mode, &mode);
             if (!xf86CrtcSetModeTransform
diff --git a/hw/xfree86/parser/Configint.h b/hw/xfree86/parser/Configint.h
index 62e5142..e853220 100644
--- a/hw/xfree86/parser/Configint.h
+++ b/hw/xfree86/parser/Configint.h
@@ -79,6 +79,8 @@ typedef struct {
     ParserNumType numType;      /* used to enforce correct number formatting */
 } LexRec, *LexPtr;
 
+extern LexRec xf86_lex_val;
+
 #ifndef TRUE
 #define TRUE 1
 #endif
diff --git a/hw/xfree86/parser/DRI.c b/hw/xfree86/parser/DRI.c
index e8d2625..ad053f7 100644
--- a/hw/xfree86/parser/DRI.c
+++ b/hw/xfree86/parser/DRI.c
@@ -35,7 +35,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec DRITab[] = {
     {ENDSECTION, "endsection"},
@@ -59,24 +58,24 @@ xf86parseDRISection(void)
         switch (token) {
         case GROUP:
             if ((token = xf86getSubToken(&(ptr->dri_comment))) == STRING)
-                ptr->dri_group_name = val.str;
+                ptr->dri_group_name = xf86_lex_val.str;
             else if (token == NUMBER)
-                ptr->dri_group = val.num;
+                ptr->dri_group = xf86_lex_val.num;
             else
                 Error(GROUP_MSG);
             break;
         case MODE:
             if (xf86getSubToken(&(ptr->dri_comment)) != NUMBER)
                 Error(NUMBER_MSG, "Mode");
-            if (val.numType != PARSE_OCTAL)
-                Error(MUST_BE_OCTAL_MSG, val.num);
-            ptr->dri_mode = val.num;
+            if (xf86_lex_val.numType != PARSE_OCTAL)
+                Error(MUST_BE_OCTAL_MSG, xf86_lex_val.num);
+            ptr->dri_mode = xf86_lex_val.num;
             break;
         case EOF_TOKEN:
             Error(UNEXPECTED_EOF_MSG);
             break;
         case COMMENT:
-            ptr->dri_comment = xf86addComment(ptr->dri_comment, val.str);
+            ptr->dri_comment = xf86addComment(ptr->dri_comment, xf86_lex_val.str);
             break;
         default:
             Error(INVALID_KEYWORD_MSG, xf86tokenString());
diff --git a/hw/xfree86/parser/Device.c b/hw/xfree86/parser/Device.c
index bb1ba88..073171f 100644
--- a/hw/xfree86/parser/Device.c
+++ b/hw/xfree86/parser/Device.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static
 xf86ConfigSymTabRec DeviceTab[] = {
@@ -107,45 +106,45 @@ xf86parseDeviceSection(void)
     while ((token = xf86getToken(DeviceTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->dev_comment = xf86addComment(ptr->dev_comment, val.str);
+            ptr->dev_comment = xf86addComment(ptr->dev_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->dev_identifier = val.str;
+            ptr->dev_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case VENDOR:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "Vendor");
-            ptr->dev_vendor = val.str;
+            ptr->dev_vendor = xf86_lex_val.str;
             break;
         case BOARD:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "Board");
-            ptr->dev_board = val.str;
+            ptr->dev_board = xf86_lex_val.str;
             break;
         case CHIPSET:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "Chipset");
-            ptr->dev_chipset = val.str;
+            ptr->dev_chipset = xf86_lex_val.str;
             break;
         case CARD:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "Card");
-            ptr->dev_card = val.str;
+            ptr->dev_card = xf86_lex_val.str;
             break;
         case DRIVER:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "Driver");
-            ptr->dev_driver = val.str;
+            ptr->dev_driver = xf86_lex_val.str;
             break;
         case RAMDAC:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "Ramdac");
-            ptr->dev_ramdac = val.str;
+            ptr->dev_ramdac = xf86_lex_val.str;
             break;
         case DACSPEED:
             for (i = 0; i < CONF_MAXDACSPEEDS; i++)
@@ -154,11 +153,11 @@ xf86parseDeviceSection(void)
                 Error(DACSPEED_MSG, CONF_MAXDACSPEEDS);
             }
             else {
-                ptr->dev_dacSpeeds[0] = (int) (val.realnum * 1000.0 + 0.5);
+                ptr->dev_dacSpeeds[0] = (int) (xf86_lex_val.realnum * 1000.0 + 0.5);
                 for (i = 1; i < CONF_MAXDACSPEEDS; i++) {
                     if (xf86getSubToken(&(ptr->dev_comment)) == NUMBER)
                         ptr->dev_dacSpeeds[i] = (int)
-                            (val.realnum * 1000.0 + 0.5);
+                            (xf86_lex_val.realnum * 1000.0 + 0.5);
                     else {
                         xf86unGetToken(token);
                         break;
@@ -169,44 +168,44 @@ xf86parseDeviceSection(void)
         case VIDEORAM:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(NUMBER_MSG, "VideoRam");
-            ptr->dev_videoram = val.num;
+            ptr->dev_videoram = xf86_lex_val.num;
             break;
         case BIOSBASE:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(NUMBER_MSG, "BIOSBase");
-            ptr->dev_bios_base = val.num;
+            ptr->dev_bios_base = xf86_lex_val.num;
             break;
         case MEMBASE:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(NUMBER_MSG, "MemBase");
-            ptr->dev_mem_base = val.num;
+            ptr->dev_mem_base = xf86_lex_val.num;
             break;
         case IOBASE:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(NUMBER_MSG, "IOBase");
-            ptr->dev_io_base = val.num;
+            ptr->dev_io_base = xf86_lex_val.num;
             break;
         case CLOCKCHIP:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "ClockChip");
-            ptr->dev_clockchip = val.str;
+            ptr->dev_clockchip = xf86_lex_val.str;
             break;
         case CHIPID:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(NUMBER_MSG, "ChipID");
-            ptr->dev_chipid = val.num;
+            ptr->dev_chipid = xf86_lex_val.num;
             break;
         case CHIPREV:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(NUMBER_MSG, "ChipRev");
-            ptr->dev_chiprev = val.num;
+            ptr->dev_chiprev = xf86_lex_val.num;
             break;
 
         case CLOCKS:
             token = xf86getSubToken(&(ptr->dev_comment));
             for (i = ptr->dev_clocks;
                  token == NUMBER && i < CONF_MAXCLOCKS; i++) {
-                ptr->dev_clock[i] = (int) (val.realnum * 1000.0 + 0.5);
+                ptr->dev_clock[i] = (int) (xf86_lex_val.realnum * 1000.0 + 0.5);
                 token = xf86getSubToken(&(ptr->dev_comment));
             }
             ptr->dev_clocks = i;
@@ -215,7 +214,7 @@ xf86parseDeviceSection(void)
         case TEXTCLOCKFRQ:
             if ((token = xf86getSubToken(&(ptr->dev_comment))) != NUMBER)
                 Error(NUMBER_MSG, "TextClockFreq");
-            ptr->dev_textclockfreq = (int) (val.realnum * 1000.0 + 0.5);
+            ptr->dev_textclockfreq = (int) (xf86_lex_val.realnum * 1000.0 + 0.5);
             break;
         case OPTION:
             ptr->dev_option_lst = xf86parseOption(ptr->dev_option_lst);
@@ -223,17 +222,17 @@ xf86parseDeviceSection(void)
         case BUSID:
             if (xf86getSubToken(&(ptr->dev_comment)) != STRING)
                 Error(QUOTE_MSG, "BusID");
-            ptr->dev_busid = val.str;
+            ptr->dev_busid = xf86_lex_val.str;
             break;
         case IRQ:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(QUOTE_MSG, "IRQ");
-            ptr->dev_irq = val.num;
+            ptr->dev_irq = xf86_lex_val.num;
             break;
         case SCREEN:
             if (xf86getSubToken(&(ptr->dev_comment)) != NUMBER)
                 Error(NUMBER_MSG, "Screen");
-            ptr->dev_screen = val.num;
+            ptr->dev_screen = xf86_lex_val.num;
             break;
         case EOF_TOKEN:
             Error(UNEXPECTED_EOF_MSG);
diff --git a/hw/xfree86/parser/Extensions.c b/hw/xfree86/parser/Extensions.c
index ec0bda4..b5ba72e 100644
--- a/hw/xfree86/parser/Extensions.c
+++ b/hw/xfree86/parser/Extensions.c
@@ -39,7 +39,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec ExtensionsTab[] = {
     {ENDSECTION, "endsection"},
@@ -66,7 +65,7 @@ xf86parseExtensionsSection(void)
             break;
         case COMMENT:
             ptr->extensions_comment =
-                xf86addComment(ptr->extensions_comment, val.str);
+                xf86addComment(ptr->extensions_comment, xf86_lex_val.str);
             break;
         default:
             Error(INVALID_KEYWORD_MSG, xf86tokenString());
diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c
index a6e18dd..24940a9 100644
--- a/hw/xfree86/parser/Files.c
+++ b/hw/xfree86/parser/Files.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec FilesTab[] = {
     {ENDSECTION, "endsection"},
@@ -89,13 +88,13 @@ xf86parseFilesSection(void)
         while ((token = xf86getToken(FilesTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->file_comment = xf86addComment(ptr->file_comment, val.str);
+            ptr->file_comment = xf86addComment(ptr->file_comment, xf86_lex_val.str);
             break;
         case FONTPATH:
             if (xf86getSubToken(&(ptr->file_comment)) != STRING)
                 Error(QUOTE_MSG, "FontPath");
             j = FALSE;
-            str = val.str;
+            str = xf86_lex_val.str;
             if (ptr->file_fontpath == NULL) {
                 ptr->file_fontpath = calloc(1, 1);
                 i = strlen(str) + 1;
@@ -112,13 +111,13 @@ xf86parseFilesSection(void)
                 strcat(ptr->file_fontpath, ",");
 
             strcat(ptr->file_fontpath, str);
-            free(val.str);
+            free(xf86_lex_val.str);
             break;
         case MODULEPATH:
             if (xf86getSubToken(&(ptr->file_comment)) != STRING)
                 Error(QUOTE_MSG, "ModulePath");
             l = FALSE;
-            str = val.str;
+            str = xf86_lex_val.str;
             if (ptr->file_modulepath == NULL) {
                 ptr->file_modulepath = malloc(1);
                 ptr->file_modulepath[0] = '\0';
@@ -137,17 +136,17 @@ xf86parseFilesSection(void)
                 strcat(ptr->file_modulepath, ",");
 
             strcat(ptr->file_modulepath, str);
-            free(val.str);
+            free(xf86_lex_val.str);
             break;
         case LOGFILEPATH:
             if (xf86getSubToken(&(ptr->file_comment)) != STRING)
                 Error(QUOTE_MSG, "LogFile");
-            ptr->file_logfile = val.str;
+            ptr->file_logfile = xf86_lex_val.str;
             break;
         case XKBDIR:
             if (xf86getSubToken(&(ptr->file_xkbdir)) != STRING)
                 Error(QUOTE_MSG, "XkbDir");
-            ptr->file_xkbdir = val.str;
+            ptr->file_xkbdir = xf86_lex_val.str;
             break;
         case EOF_TOKEN:
             Error(UNEXPECTED_EOF_MSG);
diff --git a/hw/xfree86/parser/Flags.c b/hw/xfree86/parser/Flags.c
index 326c6b7..71b50ac 100644
--- a/hw/xfree86/parser/Flags.c
+++ b/hw/xfree86/parser/Flags.c
@@ -62,7 +62,6 @@
 #include "Xprintf.h"
 #include "optionstr.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec ServerFlagsTab[] = {
     {ENDSECTION, "endsection"},
@@ -99,7 +98,7 @@ xf86parseFlagsSection(void)
 
         switch (token) {
         case COMMENT:
-            ptr->flg_comment = xf86addComment(ptr->flg_comment, val.str);
+            ptr->flg_comment = xf86addComment(ptr->flg_comment, xf86_lex_val.str);
             break;
             /* 
              * these old keywords are turned into standard generic options.
@@ -135,12 +134,12 @@ xf86parseFlagsSection(void)
                         if (strvalue) {
                             if (tokentype != STRING)
                                 Error(QUOTE_MSG, tmp);
-                            valstr = val.str;
+                            valstr = xf86_lex_val.str;
                         }
                         else {
                             if (tokentype != NUMBER)
                                 Error(NUMBER_MSG, tmp);
-                            if (asprintf(&valstr, "%d", val.num) == -1)
+                            if (asprintf(&valstr, "%d", xf86_lex_val.num) == -1)
                                 valstr = NULL;
                         }
                     }
@@ -435,12 +434,12 @@ xf86parseOption(XF86OptionPtr head)
         return head;
     }
 
-    name = val.str;
+    name = xf86_lex_val.str;
     if ((token = xf86getSubToken(&comment)) == STRING) {
-        option = xf86newOption(name, val.str);
+        option = xf86newOption(name, xf86_lex_val.str);
         option->opt_comment = comment;
         if ((token = xf86getToken(NULL)) == COMMENT)
-            option->opt_comment = xf86addComment(option->opt_comment, val.str);
+            option->opt_comment = xf86addComment(option->opt_comment, xf86_lex_val.str);
         else
             xf86unGetToken(token);
     }
@@ -448,7 +447,7 @@ xf86parseOption(XF86OptionPtr head)
         option = xf86newOption(name, NULL);
         option->opt_comment = comment;
         if (token == COMMENT)
-            option->opt_comment = xf86addComment(option->opt_comment, val.str);
+            option->opt_comment = xf86addComment(option->opt_comment, xf86_lex_val.str);
         else
             xf86unGetToken(token);
     }
diff --git a/hw/xfree86/parser/Input.c b/hw/xfree86/parser/Input.c
index ff2b9ac..1bfe5c1 100644
--- a/hw/xfree86/parser/Input.c
+++ b/hw/xfree86/parser/Input.c
@@ -61,7 +61,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static
 xf86ConfigSymTabRec InputTab[] = {
@@ -85,25 +84,25 @@ xf86parseInputSection(void)
         while ((token = xf86getToken(InputTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->inp_comment = xf86addComment(ptr->inp_comment, val.str);
+            ptr->inp_comment = xf86addComment(ptr->inp_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->inp_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->inp_identifier = val.str;
+            ptr->inp_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case DRIVER:
             if (xf86getSubToken(&(ptr->inp_comment)) != STRING)
                 Error(QUOTE_MSG, "Driver");
-            if (strcmp(val.str, "keyboard") == 0) {
+            if (strcmp(xf86_lex_val.str, "keyboard") == 0) {
                 ptr->inp_driver = strdup("kbd");
-                free(val.str);
+                free(xf86_lex_val.str);
             }
             else
-                ptr->inp_driver = val.str;
+                ptr->inp_driver = xf86_lex_val.str;
             break;
         case OPTION:
             ptr->inp_option_lst = xf86parseOption(ptr->inp_option_lst);
diff --git a/hw/xfree86/parser/InputClass.c b/hw/xfree86/parser/InputClass.c
index a7f573e..24a1246 100644
--- a/hw/xfree86/parser/InputClass.c
+++ b/hw/xfree86/parser/InputClass.c
@@ -33,7 +33,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static
 xf86ConfigSymTabRec InputClassTab[] = {
@@ -97,25 +96,25 @@ xf86parseInputClassSection(void)
     while ((token = xf86getToken(InputClassTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->comment = xf86addComment(ptr->comment, val.str);
+            ptr->comment = xf86addComment(ptr->comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->identifier = val.str;
+            ptr->identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case DRIVER:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "Driver");
-            if (strcmp(val.str, "keyboard") == 0) {
+            if (strcmp(xf86_lex_val.str, "keyboard") == 0) {
                 ptr->driver = strdup("kbd");
-                free(val.str);
+                free(xf86_lex_val.str);
             }
             else
-                ptr->driver = val.str;
+                ptr->driver = xf86_lex_val.str;
             break;
         case OPTION:
             ptr->option_lst = xf86parseOption(ptr->option_lst);
@@ -124,69 +123,69 @@ xf86parseInputClassSection(void)
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchProduct");
             add_group_entry(&ptr->match_product,
-                            xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+                            xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_VENDOR:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchVendor");
             add_group_entry(&ptr->match_vendor,
-                            xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+                            xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_DEVICE_PATH:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchDevicePath");
             add_group_entry(&ptr->match_device,
-                            xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+                            xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_OS:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchOS");
-            add_group_entry(&ptr->match_os, xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+            add_group_entry(&ptr->match_os, xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_PNPID:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchPnPID");
             add_group_entry(&ptr->match_pnpid,
-                            xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+                            xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_USBID:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchUSBID");
             add_group_entry(&ptr->match_usbid,
-                            xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+                            xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_DRIVER:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchDriver");
             add_group_entry(&ptr->match_driver,
-                            xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+                            xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_TAG:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchTag");
-            add_group_entry(&ptr->match_tag, xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+            add_group_entry(&ptr->match_tag, xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_LAYOUT:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchLayout");
             add_group_entry(&ptr->match_layout,
-                            xstrtokenize(val.str, TOKEN_SEP));
-            free(val.str);
+                            xstrtokenize(xf86_lex_val.str, TOKEN_SEP));
+            free(xf86_lex_val.str);
             break;
         case MATCH_IS_KEYBOARD:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchIsKeyboard");
             ptr->is_keyboard.set = xf86getBoolValue(&ptr->is_keyboard.val,
-                                                    val.str);
-            free(val.str);
+                                                    xf86_lex_val.str);
+            free(xf86_lex_val.str);
             if (!ptr->is_keyboard.set)
                 Error(BOOL_MSG, "MatchIsKeyboard");
             break;
@@ -194,8 +193,8 @@ xf86parseInputClassSection(void)
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchIsPointer");
             ptr->is_pointer.set = xf86getBoolValue(&ptr->is_pointer.val,
-                                                   val.str);
-            free(val.str);
+                                                   xf86_lex_val.str);
+            free(xf86_lex_val.str);
             if (!ptr->is_pointer.set)
                 Error(BOOL_MSG, "MatchIsPointer");
             break;
@@ -203,16 +202,16 @@ xf86parseInputClassSection(void)
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchIsJoystick");
             ptr->is_joystick.set = xf86getBoolValue(&ptr->is_joystick.val,
-                                                    val.str);
-            free(val.str);
+                                                    xf86_lex_val.str);
+            free(xf86_lex_val.str);
             if (!ptr->is_joystick.set)
                 Error(BOOL_MSG, "MatchIsJoystick");
             break;
         case MATCH_IS_TABLET:
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchIsTablet");
-            ptr->is_tablet.set = xf86getBoolValue(&ptr->is_tablet.val, val.str);
-            free(val.str);
+            ptr->is_tablet.set = xf86getBoolValue(&ptr->is_tablet.val, xf86_lex_val.str);
+            free(xf86_lex_val.str);
             if (!ptr->is_tablet.set)
                 Error(BOOL_MSG, "MatchIsTablet");
             break;
@@ -220,8 +219,8 @@ xf86parseInputClassSection(void)
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchIsTouchpad");
             ptr->is_touchpad.set = xf86getBoolValue(&ptr->is_touchpad.val,
-                                                    val.str);
-            free(val.str);
+                                                    xf86_lex_val.str);
+            free(xf86_lex_val.str);
             if (!ptr->is_touchpad.set)
                 Error(BOOL_MSG, "MatchIsTouchpad");
             break;
@@ -229,8 +228,8 @@ xf86parseInputClassSection(void)
             if (xf86getSubToken(&(ptr->comment)) != STRING)
                 Error(QUOTE_MSG, "MatchIsTouchscreen");
             ptr->is_touchscreen.set = xf86getBoolValue(&ptr->is_touchscreen.val,
-                                                       val.str);
-            free(val.str);
+                                                       xf86_lex_val.str);
+            free(xf86_lex_val.str);
             if (!ptr->is_touchscreen.set)
                 Error(BOOL_MSG, "MatchIsTouchscreen");
             break;
diff --git a/hw/xfree86/parser/Layout.c b/hw/xfree86/parser/Layout.c
index cbd8d24..7be746f 100644
--- a/hw/xfree86/parser/Layout.c
+++ b/hw/xfree86/parser/Layout.c
@@ -65,7 +65,6 @@
 /* Needed for auto server layout */
 extern int xf86CheckBoolOption(void *optlist, const char *name, int deflt);
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec LayoutTab[] = {
     {ENDSECTION, "endsection"},
@@ -100,14 +99,14 @@ xf86parseLayoutSection(void)
         while ((token = xf86getToken(LayoutTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->lay_comment = xf86addComment(ptr->lay_comment, val.str);
+            ptr->lay_comment = xf86addComment(ptr->lay_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->lay_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->lay_identifier = val.str;
+            ptr->lay_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case INACTIVE:
@@ -120,7 +119,7 @@ xf86parseLayoutSection(void)
                 free(iptr);
                 Error(INACTIVE_MSG);
             }
-            iptr->inactive_device_str = val.str;
+            iptr->inactive_device_str = xf86_lex_val.str;
             ptr->lay_inactive_lst = (XF86ConfInactivePtr)
                 xf86addListItem((glp) ptr->lay_inactive_lst, (glp) iptr);
         }
@@ -138,7 +137,7 @@ xf86parseLayoutSection(void)
             aptr->adj_y = 0;
             aptr->adj_refscreen = NULL;
             if ((token = xf86getSubToken(&(ptr->lay_comment))) == NUMBER)
-                aptr->adj_scrnum = val.num;
+                aptr->adj_scrnum = xf86_lex_val.num;
             else
                 xf86unGetToken(token);
             token = xf86getSubToken(&(ptr->lay_comment));
@@ -146,7 +145,7 @@ xf86parseLayoutSection(void)
                 free(aptr);
                 Error(SCREEN_MSG);
             }
-            aptr->adj_screen_str = val.str;
+            aptr->adj_screen_str = xf86_lex_val.str;
 
             token = xf86getSubTokenWithTab(&(ptr->lay_comment), AdjTab);
             switch (token) {
@@ -186,13 +185,13 @@ xf86parseLayoutSection(void)
                 if (absKeyword)
                     token = xf86getSubToken(&(ptr->lay_comment));
                 if (token == NUMBER) {
-                    aptr->adj_x = val.num;
+                    aptr->adj_x = xf86_lex_val.num;
                     token = xf86getSubToken(&(ptr->lay_comment));
                     if (token != NUMBER) {
                         free(aptr);
                         Error(INVALID_SCR_MSG);
                     }
-                    aptr->adj_y = val.num;
+                    aptr->adj_y = xf86_lex_val.num;
                 }
                 else {
                     if (absKeyword) {
@@ -213,46 +212,46 @@ xf86parseLayoutSection(void)
                     free(aptr);
                     Error(INVALID_SCR_MSG);
                 }
-                aptr->adj_refscreen = val.str;
+                aptr->adj_refscreen = xf86_lex_val.str;
                 if (aptr->adj_where == CONF_ADJ_RELATIVE) {
                     token = xf86getSubToken(&(ptr->lay_comment));
                     if (token != NUMBER) {
                         free(aptr);
                         Error(INVALID_SCR_MSG);
                     }
-                    aptr->adj_x = val.num;
+                    aptr->adj_x = xf86_lex_val.num;
                     token = xf86getSubToken(&(ptr->lay_comment));
                     if (token != NUMBER) {
                         free(aptr);
                         Error(INVALID_SCR_MSG);
                     }
-                    aptr->adj_y = val.num;
+                    aptr->adj_y = xf86_lex_val.num;
                 }
                 break;
             case CONF_ADJ_OBSOLETE:
                 /* top */
-                aptr->adj_top_str = val.str;
+                aptr->adj_top_str = xf86_lex_val.str;
 
                 /* bottom */
                 if (xf86getSubToken(&(ptr->lay_comment)) != STRING) {
                     free(aptr);
                     Error(SCREEN_MSG);
                 }
-                aptr->adj_bottom_str = val.str;
+                aptr->adj_bottom_str = xf86_lex_val.str;
 
                 /* left */
                 if (xf86getSubToken(&(ptr->lay_comment)) != STRING) {
                     free(aptr);
                     Error(SCREEN_MSG);
                 }
-                aptr->adj_left_str = val.str;
+                aptr->adj_left_str = xf86_lex_val.str;
 
                 /* right */
                 if (xf86getSubToken(&(ptr->lay_comment)) != STRING) {
                     free(aptr);
                     Error(SCREEN_MSG);
                 }
-                aptr->adj_right_str = val.str;
+                aptr->adj_right_str = xf86_lex_val.str;
 
             }
             ptr->lay_adjacency_lst = (XF86ConfAdjacencyPtr)
@@ -270,10 +269,10 @@ xf86parseLayoutSection(void)
                 free(iptr);
                 Error(INPUTDEV_MSG);
             }
-            iptr->iref_inputdev_str = val.str;
+            iptr->iref_inputdev_str = xf86_lex_val.str;
             while ((token = xf86getSubToken(&(ptr->lay_comment))) == STRING) {
                 iptr->iref_option_lst =
-                    xf86addNewOption(iptr->iref_option_lst, val.str, NULL);
+                    xf86addNewOption(iptr->iref_option_lst, xf86_lex_val.str, NULL);
             }
             xf86unGetToken(token);
             ptr->lay_input_lst = (XF86ConfInputrefPtr)
diff --git a/hw/xfree86/parser/Module.c b/hw/xfree86/parser/Module.c
index 243ba91..e2d9120 100644
--- a/hw/xfree86/parser/Module.c
+++ b/hw/xfree86/parser/Module.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec SubModuleTab[] = {
     {ENDSUBSECTION, "endsubsection"},
@@ -95,7 +94,7 @@ xf86parseModuleSubSection(XF86LoadPtr head, char *name)
     while ((token = xf86getToken(SubModuleTab)) != ENDSUBSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->load_comment = xf86addComment(ptr->load_comment, val.str);
+            ptr->load_comment = xf86addComment(ptr->load_comment, xf86_lex_val.str);
             break;
         case OPTION:
             ptr->load_opt = xf86parseOption(ptr->load_opt);
@@ -126,34 +125,34 @@ xf86parseModuleSection(void)
         while ((token = xf86getToken(ModuleTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->mod_comment = xf86addComment(ptr->mod_comment, val.str);
+            ptr->mod_comment = xf86addComment(ptr->mod_comment, xf86_lex_val.str);
             break;
         case LOAD:
             if (xf86getSubToken(&(ptr->mod_comment)) != STRING)
                 Error(QUOTE_MSG, "Load");
             ptr->mod_load_lst =
-                xf86addNewLoadDirective(ptr->mod_load_lst, val.str,
+                xf86addNewLoadDirective(ptr->mod_load_lst, xf86_lex_val.str,
                                         XF86_LOAD_MODULE, NULL);
             break;
         case DISABLE:
             if (xf86getSubToken(&(ptr->mod_comment)) != STRING)
                 Error(QUOTE_MSG, "Disable");
             ptr->mod_disable_lst =
-                xf86addNewLoadDirective(ptr->mod_disable_lst, val.str,
+                xf86addNewLoadDirective(ptr->mod_disable_lst, xf86_lex_val.str,
                                         XF86_DISABLE_MODULE, NULL);
             break;
         case LOAD_DRIVER:
             if (xf86getSubToken(&(ptr->mod_comment)) != STRING)
                 Error(QUOTE_MSG, "LoadDriver");
             ptr->mod_load_lst =
-                xf86addNewLoadDirective(ptr->mod_load_lst, val.str,
+                xf86addNewLoadDirective(ptr->mod_load_lst, xf86_lex_val.str,
                                         XF86_LOAD_DRIVER, NULL);
             break;
         case SUBSECTION:
             if (xf86getSubToken(&(ptr->mod_comment)) != STRING)
                 Error(QUOTE_MSG, "SubSection");
             ptr->mod_load_lst =
-                xf86parseModuleSubSection(ptr->mod_load_lst, val.str);
+                xf86parseModuleSubSection(ptr->mod_load_lst, xf86_lex_val.str);
             break;
         case EOF_TOKEN:
             Error(UNEXPECTED_EOF_MSG);
@@ -232,7 +231,7 @@ xf86addNewLoadDirective(XF86LoadPtr head, const char *name, int type,
     new->list.next = NULL;
 
     if ((token = xf86getToken(NULL)) == COMMENT)
-        new->load_comment = xf86addComment(new->load_comment, val.str);
+        new->load_comment = xf86addComment(new->load_comment, xf86_lex_val.str);
     else
         xf86unGetToken(token);
 
diff --git a/hw/xfree86/parser/Monitor.c b/hw/xfree86/parser/Monitor.c
index 36b4ebe..8aebce0 100644
--- a/hw/xfree86/parser/Monitor.c
+++ b/hw/xfree86/parser/Monitor.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec MonitorTab[] = {
     {ENDSECTION, "endsection"},
@@ -140,52 +139,52 @@ xf86parseModeLine(void)
         /* Identifier */
         if (xf86getSubToken(&(ptr->ml_comment)) != STRING)
         Error("ModeLine identifier expected");
-    ptr->ml_identifier = val.str;
+    ptr->ml_identifier = xf86_lex_val.str;
 
     /* DotClock */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine dotclock expected");
-    ptr->ml_clock = (int) (val.realnum * 1000.0 + 0.5);
+    ptr->ml_clock = (int) (xf86_lex_val.realnum * 1000.0 + 0.5);
 
     /* HDisplay */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine Hdisplay expected");
-    ptr->ml_hdisplay = val.num;
+    ptr->ml_hdisplay = xf86_lex_val.num;
 
     /* HSyncStart */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine HSyncStart expected");
-    ptr->ml_hsyncstart = val.num;
+    ptr->ml_hsyncstart = xf86_lex_val.num;
 
     /* HSyncEnd */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine HSyncEnd expected");
-    ptr->ml_hsyncend = val.num;
+    ptr->ml_hsyncend = xf86_lex_val.num;
 
     /* HTotal */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine HTotal expected");
-    ptr->ml_htotal = val.num;
+    ptr->ml_htotal = xf86_lex_val.num;
 
     /* VDisplay */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine Vdisplay expected");
-    ptr->ml_vdisplay = val.num;
+    ptr->ml_vdisplay = xf86_lex_val.num;
 
     /* VSyncStart */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine VSyncStart expected");
-    ptr->ml_vsyncstart = val.num;
+    ptr->ml_vsyncstart = xf86_lex_val.num;
 
     /* VSyncEnd */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine VSyncEnd expected");
-    ptr->ml_vsyncend = val.num;
+    ptr->ml_vsyncend = xf86_lex_val.num;
 
     /* VTotal */
     if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
         Error("ModeLine VTotal expected");
-    ptr->ml_vtotal = val.num;
+    ptr->ml_vtotal = xf86_lex_val.num;
 
     token = xf86getSubTokenWithTab(&(ptr->ml_comment), TimingTab);
     while ((token == TT_INTERLACE) || (token == TT_PHSYNC) ||
@@ -226,7 +225,7 @@ xf86parseModeLine(void)
         case TT_HSKEW:
             if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
                 Error(NUMBER_MSG, "Hskew");
-            ptr->ml_hskew = val.num;
+            ptr->ml_hskew = xf86_lex_val.num;
             ptr->ml_flags |= XF86CONF_HSKEW;
             break;
         case TT_BCAST:
@@ -235,7 +234,7 @@ xf86parseModeLine(void)
         case TT_VSCAN:
             if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
                 Error(NUMBER_MSG, "Vscan");
-            ptr->ml_vscan = val.num;
+            ptr->ml_vscan = xf86_lex_val.num;
             ptr->ml_flags |= XF86CONF_VSCAN;
             break;
         case EOF_TOKEN:
@@ -265,58 +264,58 @@ xf86parseVerboseMode(void)
 
         if (xf86getSubToken(&(ptr->ml_comment)) != STRING)
         Error("Mode name expected");
-    ptr->ml_identifier = val.str;
+    ptr->ml_identifier = xf86_lex_val.str;
     while ((token = xf86getToken(ModeTab)) != ENDMODE) {
         switch (token) {
         case COMMENT:
-            ptr->ml_comment = xf86addComment(ptr->ml_comment, val.str);
+            ptr->ml_comment = xf86addComment(ptr->ml_comment, xf86_lex_val.str);
             break;
         case DOTCLOCK:
             if ((token = xf86getSubToken(&(ptr->ml_comment))) != NUMBER)
                 Error(NUMBER_MSG, "DotClock");
-            ptr->ml_clock = (int) (val.realnum * 1000.0 + 0.5);
+            ptr->ml_clock = (int) (xf86_lex_val.realnum * 1000.0 + 0.5);
             had_dotclock = 1;
             break;
         case HTIMINGS:
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_hdisplay = val.num;
+                ptr->ml_hdisplay = xf86_lex_val.num;
             else
                 Error("Horizontal display expected");
 
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_hsyncstart = val.num;
+                ptr->ml_hsyncstart = xf86_lex_val.num;
             else
                 Error("Horizontal sync start expected");
 
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_hsyncend = val.num;
+                ptr->ml_hsyncend = xf86_lex_val.num;
             else
                 Error("Horizontal sync end expected");
 
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_htotal = val.num;
+                ptr->ml_htotal = xf86_lex_val.num;
             else
                 Error("Horizontal total expected");
             had_htimings = 1;
             break;
         case VTIMINGS:
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_vdisplay = val.num;
+                ptr->ml_vdisplay = xf86_lex_val.num;
             else
                 Error("Vertical display expected");
 
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_vsyncstart = val.num;
+                ptr->ml_vsyncstart = xf86_lex_val.num;
             else
                 Error("Vertical sync start expected");
 
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_vsyncend = val.num;
+                ptr->ml_vsyncend = xf86_lex_val.num;
             else
                 Error("Vertical sync end expected");
 
             if (xf86getSubToken(&(ptr->ml_comment)) == NUMBER)
-                ptr->ml_vtotal = val.num;
+                ptr->ml_vtotal = xf86_lex_val.num;
             else
                 Error("Vertical total expected");
             had_vtimings = 1;
@@ -370,13 +369,13 @@ xf86parseVerboseMode(void)
             if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
                 Error("Horizontal skew expected");
             ptr->ml_flags |= XF86CONF_HSKEW;
-            ptr->ml_hskew = val.num;
+            ptr->ml_hskew = xf86_lex_val.num;
             break;
         case VSCAN:
             if (xf86getSubToken(&(ptr->ml_comment)) != NUMBER)
                 Error("Vertical scan count expected");
             ptr->ml_flags |= XF86CONF_VSCAN;
-            ptr->ml_vscan = val.num;
+            ptr->ml_vscan = xf86_lex_val.num;
             break;
         case EOF_TOKEN:
             Error(UNEXPECTED_EOF_MSG);
@@ -413,25 +412,25 @@ xf86parseMonitorSection(void)
         while ((token = xf86getToken(MonitorTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->mon_comment = xf86addComment(ptr->mon_comment, val.str);
+            ptr->mon_comment = xf86addComment(ptr->mon_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->mon_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->mon_identifier = val.str;
+            ptr->mon_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case VENDOR:
             if (xf86getSubToken(&(ptr->mon_comment)) != STRING)
                 Error(QUOTE_MSG, "Vendor");
-            ptr->mon_vendor = val.str;
+            ptr->mon_vendor = xf86_lex_val.str;
             break;
         case MODEL:
             if (xf86getSubToken(&(ptr->mon_comment)) != STRING)
                 Error(QUOTE_MSG, "ModelName");
-            ptr->mon_modelname = val.str;
+            ptr->mon_modelname = xf86_lex_val.str;
             break;
         case MODE:
             HANDLE_LIST(mon_modeline_lst, xf86parseVerboseMode,
@@ -444,10 +443,10 @@ xf86parseMonitorSection(void)
         case DISPLAYSIZE:
             if (xf86getSubToken(&(ptr->mon_comment)) != NUMBER)
                 Error(DISPLAYSIZE_MSG);
-            ptr->mon_width = val.realnum;
+            ptr->mon_width = xf86_lex_val.realnum;
             if (xf86getSubToken(&(ptr->mon_comment)) != NUMBER)
                 Error(DISPLAYSIZE_MSG);
-            ptr->mon_height = val.realnum;
+            ptr->mon_height = xf86_lex_val.realnum;
             break;
 
         case HORIZSYNC:
@@ -456,7 +455,7 @@ xf86parseMonitorSection(void)
             do {
                 if (ptr->mon_n_hsync >= CONF_MAX_HSYNC)
                     Error("Sorry. Too many horizontal sync intervals.");
-                ptr->mon_hsync[ptr->mon_n_hsync].lo = val.realnum;
+                ptr->mon_hsync[ptr->mon_n_hsync].lo = xf86_lex_val.realnum;
                 switch (token = xf86getSubToken(&(ptr->mon_comment))) {
                 case COMMA:
                     ptr->mon_hsync[ptr->mon_n_hsync].hi =
@@ -464,10 +463,10 @@ xf86parseMonitorSection(void)
                     break;
                 case DASH:
                     if (xf86getSubToken(&(ptr->mon_comment)) != NUMBER ||
-                        (float) val.realnum <
+                        (float) xf86_lex_val.realnum <
                         ptr->mon_hsync[ptr->mon_n_hsync].lo)
                         Error(HORIZSYNC_MSG);
-                    ptr->mon_hsync[ptr->mon_n_hsync].hi = val.realnum;
+                    ptr->mon_hsync[ptr->mon_n_hsync].hi = xf86_lex_val.realnum;
                     if ((token = xf86getSubToken(&(ptr->mon_comment))) == COMMA)
                         break;
                     ptr->mon_n_hsync++;
@@ -491,7 +490,7 @@ xf86parseMonitorSection(void)
             if (xf86getSubToken(&(ptr->mon_comment)) != NUMBER)
                 Error(VERTREFRESH_MSG);
             do {
-                ptr->mon_vrefresh[ptr->mon_n_vrefresh].lo = val.realnum;
+                ptr->mon_vrefresh[ptr->mon_n_vrefresh].lo = xf86_lex_val.realnum;
                 switch (token = xf86getSubToken(&(ptr->mon_comment))) {
                 case COMMA:
                     ptr->mon_vrefresh[ptr->mon_n_vrefresh].hi =
@@ -499,10 +498,10 @@ xf86parseMonitorSection(void)
                     break;
                 case DASH:
                     if (xf86getSubToken(&(ptr->mon_comment)) != NUMBER ||
-                        (float) val.realnum <
+                        (float) xf86_lex_val.realnum <
                         ptr->mon_vrefresh[ptr->mon_n_vrefresh].lo)
                         Error(VERTREFRESH_MSG);
-                    ptr->mon_vrefresh[ptr->mon_n_vrefresh].hi = val.realnum;
+                    ptr->mon_vrefresh[ptr->mon_n_vrefresh].hi = xf86_lex_val.realnum;
                     if ((token = xf86getSubToken(&(ptr->mon_comment))) == COMMA)
                         break;
                     ptr->mon_n_vrefresh++;
@@ -530,11 +529,11 @@ xf86parseMonitorSection(void)
             }
             else {
                 ptr->mon_gamma_red = ptr->mon_gamma_green =
-                    ptr->mon_gamma_blue = val.realnum;
+                    ptr->mon_gamma_blue = xf86_lex_val.realnum;
                 if (xf86getSubToken(&(ptr->mon_comment)) == NUMBER) {
-                    ptr->mon_gamma_green = val.realnum;
+                    ptr->mon_gamma_green = xf86_lex_val.realnum;
                     if (xf86getSubToken(&(ptr->mon_comment)) == NUMBER) {
-                        ptr->mon_gamma_blue = val.realnum;
+                        ptr->mon_gamma_blue = xf86_lex_val.realnum;
                     }
                     else {
                         Error(INVALID_GAMMA_MSG);
@@ -558,7 +557,7 @@ xf86parseMonitorSection(void)
                referenced here */
             mptr = calloc(1, sizeof(XF86ConfModesLinkRec));
             mptr->list.next = NULL;
-            mptr->ml_modes_str = val.str;
+            mptr->ml_modes_str = xf86_lex_val.str;
             mptr->ml_modes = NULL;
             ptr->mon_modes_sect_lst = (XF86ConfModesLinkPtr)
                 xf86addListItem((GenericListPtr) ptr->mon_modes_sect_lst,
@@ -599,14 +598,14 @@ xf86parseModesSection(void)
         while ((token = xf86getToken(ModesTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->modes_comment = xf86addComment(ptr->modes_comment, val.str);
+            ptr->modes_comment = xf86addComment(ptr->modes_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->modes_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->modes_identifier = val.str;
+            ptr->modes_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case MODE:
diff --git a/hw/xfree86/parser/Pointer.c b/hw/xfree86/parser/Pointer.c
index ff748d9..fe60d95 100644
--- a/hw/xfree86/parser/Pointer.c
+++ b/hw/xfree86/parser/Pointer.c
@@ -61,7 +61,6 @@
 #include "Configint.h"
 #include "Xprintf.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec PointerTab[] = {
     {PROTOCOL, "protocol"},
@@ -104,19 +103,19 @@ xf86parsePointerSection(void)
         while ((token = xf86getToken(PointerTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->inp_comment = xf86addComment(ptr->inp_comment, val.str);
+            ptr->inp_comment = xf86addComment(ptr->inp_comment, xf86_lex_val.str);
             break;
         case PROTOCOL:
             if (xf86getSubToken(&(ptr->inp_comment)) != STRING)
                 Error(QUOTE_MSG, "Protocol");
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
-                                                   strdup("Protocol"), val.str);
+                                                   strdup("Protocol"), xf86_lex_val.str);
             break;
         case PDEVICE:
             if (xf86getSubToken(&(ptr->inp_comment)) != STRING)
                 Error(QUOTE_MSG, "Device");
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
-                                                   strdup("Device"), val.str);
+                                                   strdup("Device"), xf86_lex_val.str);
             break;
         case EMULATE3:
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
@@ -124,9 +123,9 @@ xf86parsePointerSection(void)
                                                    NULL);
             break;
         case EM3TIMEOUT:
-            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || val.num < 0)
+            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || xf86_lex_val.num < 0)
                 Error(POSITIVE_INT_MSG, "Emulate3Timeout");
-            s = xf86uLongToString(val.num);
+            s = xf86uLongToString(xf86_lex_val.num);
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
                                                    strdup("Emulate3Timeout"),
                                                    s);
@@ -136,30 +135,30 @@ xf86parsePointerSection(void)
                                                    strdup("ChordMiddle"), NULL);
             break;
         case PBUTTONS:
-            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || val.num < 0)
+            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || xf86_lex_val.num < 0)
                 Error(POSITIVE_INT_MSG, "Buttons");
-            s = xf86uLongToString(val.num);
+            s = xf86uLongToString(xf86_lex_val.num);
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
                                                    strdup("Buttons"), s);
             break;
         case BAUDRATE:
-            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || val.num < 0)
+            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || xf86_lex_val.num < 0)
                 Error(POSITIVE_INT_MSG, "BaudRate");
-            s = xf86uLongToString(val.num);
+            s = xf86uLongToString(xf86_lex_val.num);
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
                                                    strdup("BaudRate"), s);
             break;
         case SAMPLERATE:
-            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || val.num < 0)
+            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || xf86_lex_val.num < 0)
                 Error(POSITIVE_INT_MSG, "SampleRate");
-            s = xf86uLongToString(val.num);
+            s = xf86uLongToString(xf86_lex_val.num);
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
                                                    strdup("SampleRate"), s);
             break;
         case PRESOLUTION:
-            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || val.num < 0)
+            if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER || xf86_lex_val.num < 0)
                 Error(POSITIVE_INT_MSG, "Resolution");
-            s = xf86uLongToString(val.num);
+            s = xf86uLongToString(xf86_lex_val.num);
             ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
                                                    strdup("Resolution"), s);
             break;
@@ -174,14 +173,14 @@ xf86parsePointerSection(void)
         case ZAXISMAPPING:
             switch (xf86getToken(ZMapTab)) {
             case NUMBER:
-                if (val.num < 0)
+                if (xf86_lex_val.num < 0)
                     Error(ZAXISMAPPING_MSG);
-                val1 = val.num;
+                val1 = xf86_lex_val.num;
                 if (xf86getSubToken(&(ptr->inp_comment)) != NUMBER ||
-                    val.num < 0) {
+                    xf86_lex_val.num < 0) {
                     Error(ZAXISMAPPING_MSG);
                 }
-                if (asprintf(&s, "%lu %u", val1, val.num) == -1)
+                if (asprintf(&s, "%lu %u", val1, xf86_lex_val.num) == -1)
                     s = NULL;
                 break;
             case XAXIS:
diff --git a/hw/xfree86/parser/Screen.c b/hw/xfree86/parser/Screen.c
index f294ec4..fecd57c 100644
--- a/hw/xfree86/parser/Screen.c
+++ b/hw/xfree86/parser/Screen.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec DisplayTab[] = {
     {ENDSUBSECTION, "endsubsection"},
@@ -92,71 +91,71 @@ xf86parseDisplaySubSection(void)
     while ((token = xf86getToken(DisplayTab)) != ENDSUBSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->disp_comment = xf86addComment(ptr->disp_comment, val.str);
+            ptr->disp_comment = xf86addComment(ptr->disp_comment, xf86_lex_val.str);
             break;
         case VIEWPORT:
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(VIEWPORT_MSG);
-            ptr->disp_frameX0 = val.num;
+            ptr->disp_frameX0 = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(VIEWPORT_MSG);
-            ptr->disp_frameY0 = val.num;
+            ptr->disp_frameY0 = xf86_lex_val.num;
             break;
         case VIRTUAL:
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(VIRTUAL_MSG);
-            ptr->disp_virtualX = val.num;
+            ptr->disp_virtualX = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(VIRTUAL_MSG);
-            ptr->disp_virtualY = val.num;
+            ptr->disp_virtualY = xf86_lex_val.num;
             break;
         case DEPTH:
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(NUMBER_MSG, "Display");
-            ptr->disp_depth = val.num;
+            ptr->disp_depth = xf86_lex_val.num;
             break;
         case BPP:
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(NUMBER_MSG, "Display");
-            ptr->disp_bpp = val.num;
+            ptr->disp_bpp = xf86_lex_val.num;
             break;
         case VISUAL:
             if (xf86getSubToken(&(ptr->disp_comment)) != STRING)
                 Error(QUOTE_MSG, "Display");
-            ptr->disp_visual = val.str;
+            ptr->disp_visual = xf86_lex_val.str;
             break;
         case WEIGHT:
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(WEIGHT_MSG);
-            ptr->disp_weight.red = val.num;
+            ptr->disp_weight.red = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(WEIGHT_MSG);
-            ptr->disp_weight.green = val.num;
+            ptr->disp_weight.green = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(WEIGHT_MSG);
-            ptr->disp_weight.blue = val.num;
+            ptr->disp_weight.blue = xf86_lex_val.num;
             break;
         case BLACK_TOK:
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(BLACK_MSG);
-            ptr->disp_black.red = val.num;
+            ptr->disp_black.red = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(BLACK_MSG);
-            ptr->disp_black.green = val.num;
+            ptr->disp_black.green = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(BLACK_MSG);
-            ptr->disp_black.blue = val.num;
+            ptr->disp_black.blue = xf86_lex_val.num;
             break;
         case WHITE_TOK:
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(WHITE_MSG);
-            ptr->disp_white.red = val.num;
+            ptr->disp_white.red = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(WHITE_MSG);
-            ptr->disp_white.green = val.num;
+            ptr->disp_white.green = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->disp_comment)) != NUMBER)
                 Error(WHITE_MSG);
-            ptr->disp_white.blue = val.num;
+            ptr->disp_white.blue = xf86_lex_val.num;
             break;
         case MODES:
         {
@@ -166,7 +165,7 @@ xf86parseDisplaySubSection(void)
                     xf86getSubTokenWithTab(&(ptr->disp_comment),
                                            DisplayTab)) == STRING) {
                 mptr = calloc(1, sizeof(XF86ModeRec));
-                mptr->mode_name = val.str;
+                mptr->mode_name = xf86_lex_val.str;
                 mptr->list.next = NULL;
                 ptr->disp_mode_lst = (XF86ModePtr)
                     xf86addListItem((glp) ptr->disp_mode_lst, (glp) mptr);
@@ -227,12 +226,12 @@ xf86parseScreenSection(void)
         while ((token = xf86getToken(ScreenTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->scrn_comment = xf86addComment(ptr->scrn_comment, val.str);
+            ptr->scrn_comment = xf86addComment(ptr->scrn_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
-            ptr->scrn_identifier = val.str;
+            ptr->scrn_identifier = xf86_lex_val.str;
             if (has_ident || has_driver)
                 Error(ONLY_ONE_MSG, "Identifier or Driver");
             has_ident = TRUE;
@@ -240,7 +239,7 @@ xf86parseScreenSection(void)
         case OBSDRIVER:
             if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
                 Error(QUOTE_MSG, "Driver");
-            ptr->scrn_obso_driver = val.str;
+            ptr->scrn_obso_driver = xf86_lex_val.str;
             if (has_ident || has_driver)
                 Error(ONLY_ONE_MSG, "Identifier or Driver");
             has_driver = TRUE;
@@ -248,27 +247,27 @@ xf86parseScreenSection(void)
         case DEFAULTDEPTH:
             if (xf86getSubToken(&(ptr->scrn_comment)) != NUMBER)
                 Error(NUMBER_MSG, "DefaultDepth");
-            ptr->scrn_defaultdepth = val.num;
+            ptr->scrn_defaultdepth = xf86_lex_val.num;
             break;
         case DEFAULTBPP:
             if (xf86getSubToken(&(ptr->scrn_comment)) != NUMBER)
                 Error(NUMBER_MSG, "DefaultBPP");
-            ptr->scrn_defaultbpp = val.num;
+            ptr->scrn_defaultbpp = xf86_lex_val.num;
             break;
         case DEFAULTFBBPP:
             if (xf86getSubToken(&(ptr->scrn_comment)) != NUMBER)
                 Error(NUMBER_MSG, "DefaultFbBPP");
-            ptr->scrn_defaultfbbpp = val.num;
+            ptr->scrn_defaultfbbpp = xf86_lex_val.num;
             break;
         case MDEVICE:
             if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
                 Error(QUOTE_MSG, "Device");
-            ptr->scrn_device_str = val.str;
+            ptr->scrn_device_str = xf86_lex_val.str;
             break;
         case MONITOR:
             if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
                 Error(QUOTE_MSG, "Monitor");
-            ptr->scrn_monitor_str = val.str;
+            ptr->scrn_monitor_str = xf86_lex_val.str;
             break;
         case VIDEOADAPTOR:
         {
@@ -280,13 +279,13 @@ xf86parseScreenSection(void)
             /* Don't allow duplicates */
             for (aptr = ptr->scrn_adaptor_lst; aptr;
                  aptr = (XF86ConfAdaptorLinkPtr) aptr->list.next)
-                if (xf86nameCompare(val.str, aptr->al_adaptor_str) == 0)
+                if (xf86nameCompare(xf86_lex_val.str, aptr->al_adaptor_str) == 0)
                     break;
 
             if (aptr == NULL) {
                 aptr = calloc(1, sizeof(XF86ConfAdaptorLinkRec));
                 aptr->list.next = NULL;
-                aptr->al_adaptor_str = val.str;
+                aptr->al_adaptor_str = xf86_lex_val.str;
                 ptr->scrn_adaptor_lst = (XF86ConfAdaptorLinkPtr)
                     xf86addListItem((glp) ptr->scrn_adaptor_lst, (glp) aptr);
             }
@@ -295,10 +294,10 @@ xf86parseScreenSection(void)
         case VIRTUAL:
             if (xf86getSubToken(&(ptr->scrn_comment)) != NUMBER)
                 Error(VIRTUAL_MSG);
-            ptr->scrn_virtualX = val.num;
+            ptr->scrn_virtualX = xf86_lex_val.num;
             if (xf86getSubToken(&(ptr->scrn_comment)) != NUMBER)
                 Error(VIRTUAL_MSG);
-            ptr->scrn_virtualY = val.num;
+            ptr->scrn_virtualY = xf86_lex_val.num;
             break;
         case OPTION:
             ptr->scrn_option_lst = xf86parseOption(ptr->scrn_option_lst);
@@ -307,7 +306,7 @@ xf86parseScreenSection(void)
             if (xf86getSubToken(&(ptr->scrn_comment)) != STRING)
                 Error(QUOTE_MSG, "SubSection");
             {
-                free(val.str);
+                free(xf86_lex_val.str);
                 HANDLE_LIST(scrn_display_lst, xf86parseDisplaySubSection,
                             XF86ConfDisplayPtr);
             }
diff --git a/hw/xfree86/parser/Vendor.c b/hw/xfree86/parser/Vendor.c
index 9b7695c..2c870ae 100644
--- a/hw/xfree86/parser/Vendor.c
+++ b/hw/xfree86/parser/Vendor.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec VendorSubTab[] = {
     {ENDSUBSECTION, "endsubsection"},
@@ -82,14 +81,14 @@ xf86parseVendorSubSection(void)
         while ((token = xf86getToken(VendorSubTab)) != ENDSUBSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->vs_comment = xf86addComment(ptr->vs_comment, val.str);
+            ptr->vs_comment = xf86addComment(ptr->vs_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->vs_comment)))
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->vs_identifier = val.str;
+            ptr->vs_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case OPTION:
@@ -135,14 +134,14 @@ xf86parseVendorSection(void)
         while ((token = xf86getToken(VendorTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->vnd_comment = xf86addComment(ptr->vnd_comment, val.str);
+            ptr->vnd_comment = xf86addComment(ptr->vnd_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->vnd_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->vnd_identifier = val.str;
+            ptr->vnd_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case OPTION:
diff --git a/hw/xfree86/parser/Video.c b/hw/xfree86/parser/Video.c
index 68d611a..93209c4 100644
--- a/hw/xfree86/parser/Video.c
+++ b/hw/xfree86/parser/Video.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec VideoPortTab[] = {
     {ENDSUBSECTION, "endsubsection"},
@@ -97,14 +96,14 @@ xf86parseVideoPortSubSection(void)
         while ((token = xf86getToken(VideoPortTab)) != ENDSUBSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->vp_comment = xf86addComment(ptr->vp_comment, val.str);
+            ptr->vp_comment = xf86addComment(ptr->vp_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->vp_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
-            ptr->vp_identifier = val.str;
+            ptr->vp_identifier = xf86_lex_val.str;
             has_ident = TRUE;
             break;
         case OPTION:
@@ -154,12 +153,12 @@ xf86parseVideoAdaptorSection(void)
         while ((token = xf86getToken(VideoAdaptorTab)) != ENDSECTION) {
         switch (token) {
         case COMMENT:
-            ptr->va_comment = xf86addComment(ptr->va_comment, val.str);
+            ptr->va_comment = xf86addComment(ptr->va_comment, xf86_lex_val.str);
             break;
         case IDENTIFIER:
             if (xf86getSubToken(&(ptr->va_comment)) != STRING)
                 Error(QUOTE_MSG, "Identifier");
-            ptr->va_identifier = val.str;
+            ptr->va_identifier = xf86_lex_val.str;
             if (has_ident == TRUE)
                 Error(MULTIPLE_MSG, "Identifier");
             has_ident = TRUE;
@@ -167,22 +166,22 @@ xf86parseVideoAdaptorSection(void)
         case VENDOR:
             if (xf86getSubToken(&(ptr->va_comment)) != STRING)
                 Error(QUOTE_MSG, "Vendor");
-            ptr->va_vendor = val.str;
+            ptr->va_vendor = xf86_lex_val.str;
             break;
         case BOARD:
             if (xf86getSubToken(&(ptr->va_comment)) != STRING)
                 Error(QUOTE_MSG, "Board");
-            ptr->va_board = val.str;
+            ptr->va_board = xf86_lex_val.str;
             break;
         case BUSID:
             if (xf86getSubToken(&(ptr->va_comment)) != STRING)
                 Error(QUOTE_MSG, "BusID");
-            ptr->va_busid = val.str;
+            ptr->va_busid = xf86_lex_val.str;
             break;
         case DRIVER:
             if (xf86getSubToken(&(ptr->va_comment)) != STRING)
                 Error(QUOTE_MSG, "Driver");
-            ptr->va_driver = val.str;
+            ptr->va_driver = xf86_lex_val.str;
             break;
         case OPTION:
             ptr->va_option_lst = xf86parseOption(ptr->va_option_lst);
diff --git a/hw/xfree86/parser/read.c b/hw/xfree86/parser/read.c
index 6545bcd..2478b07 100644
--- a/hw/xfree86/parser/read.c
+++ b/hw/xfree86/parser/read.c
@@ -60,7 +60,6 @@
 #include "xf86tokens.h"
 #include "Configint.h"
 
-extern LexRec val;
 
 static xf86ConfigSymTabRec TopLevelTab[] = {
     {SECTION, "section"},
@@ -99,7 +98,7 @@ xf86readConfigFile(void)
     while ((token = xf86getToken(TopLevelTab)) != EOF_TOKEN) {
         switch (token) {
         case COMMENT:
-            ptr->conf_comment = xf86addComment(ptr->conf_comment, val.str);
+            ptr->conf_comment = xf86addComment(ptr->conf_comment, xf86_lex_val.str);
             break;
         case SECTION:
             if (xf86getSubToken(&(ptr->conf_comment)) != STRING) {
@@ -107,101 +106,101 @@ xf86readConfigFile(void)
                 CLEANUP(ptr);
                 return NULL;
             }
-            xf86setSection(val.str);
-            if (xf86nameCompare(val.str, "files") == 0) {
-                free(val.str);
-                val.str = NULL;
+            xf86setSection(xf86_lex_val.str);
+            if (xf86nameCompare(xf86_lex_val.str, "files") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_RETURN(conf_files, xf86parseFilesSection());
             }
-            else if (xf86nameCompare(val.str, "serverflags") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "serverflags") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_RETURN(conf_flags, xf86parseFlagsSection());
             }
-            else if (xf86nameCompare(val.str, "pointer") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "pointer") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_input_lst, xf86parsePointerSection,
                             XF86ConfInputPtr);
             }
-            else if (xf86nameCompare(val.str, "videoadaptor") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "videoadaptor") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_videoadaptor_lst, xf86parseVideoAdaptorSection,
                             XF86ConfVideoAdaptorPtr);
             }
-            else if (xf86nameCompare(val.str, "device") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "device") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_device_lst, xf86parseDeviceSection,
                             XF86ConfDevicePtr);
             }
-            else if (xf86nameCompare(val.str, "monitor") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "monitor") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_monitor_lst, xf86parseMonitorSection,
                             XF86ConfMonitorPtr);
             }
-            else if (xf86nameCompare(val.str, "modes") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "modes") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_modes_lst, xf86parseModesSection,
                             XF86ConfModesPtr);
             }
-            else if (xf86nameCompare(val.str, "screen") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "screen") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_screen_lst, xf86parseScreenSection,
                             XF86ConfScreenPtr);
             }
-            else if (xf86nameCompare(val.str, "inputdevice") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "inputdevice") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_input_lst, xf86parseInputSection,
                             XF86ConfInputPtr);
             }
-            else if (xf86nameCompare(val.str, "inputclass") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "inputclass") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_inputclass_lst,
                             xf86parseInputClassSection, XF86ConfInputClassPtr);
             }
-            else if (xf86nameCompare(val.str, "module") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "module") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_RETURN(conf_modules, xf86parseModuleSection());
             }
-            else if (xf86nameCompare(val.str, "serverlayout") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "serverlayout") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_layout_lst, xf86parseLayoutSection,
                             XF86ConfLayoutPtr);
             }
-            else if (xf86nameCompare(val.str, "vendor") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "vendor") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_LIST(conf_vendor_lst, xf86parseVendorSection,
                             XF86ConfVendorPtr);
             }
-            else if (xf86nameCompare(val.str, "dri") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "dri") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_RETURN(conf_dri, xf86parseDRISection());
             }
-            else if (xf86nameCompare(val.str, "extensions") == 0) {
-                free(val.str);
-                val.str = NULL;
+            else if (xf86nameCompare(xf86_lex_val.str, "extensions") == 0) {
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 HANDLE_RETURN(conf_extensions, xf86parseExtensionsSection());
             }
             else {
-                free(val.str);
-                val.str = NULL;
+                free(xf86_lex_val.str);
+                xf86_lex_val.str = NULL;
                 Error(INVALID_SECTION_MSG, xf86tokenString());
             }
             break;
         default:
-            free(val.str);
-            val.str = NULL;
+            free(xf86_lex_val.str);
+            xf86_lex_val.str = NULL;
             Error(INVALID_KEYWORD_MSG, xf86tokenString());
         }
     }
diff --git a/hw/xfree86/parser/scan.c b/hw/xfree86/parser/scan.c
index 55a8442..a6c1295 100644
--- a/hw/xfree86/parser/scan.c
+++ b/hw/xfree86/parser/scan.c
@@ -103,7 +103,7 @@ static int numFiles = 0;        /* number of config files */
 static int curFileIndex = 0;    /* index of current config file */
 static int pushToken = LOCK_TOKEN;
 static int eol_seen = 0;        /* private state to handle comments */
-LexRec val;
+LexRec xf86_lex_val;
 
 /*
  * xf86getNextLine --
@@ -332,7 +332,7 @@ xf86getToken(xf86ConfigSymTabRec * tab)
             /* XXX no private copy.
              * Use xf86addComment when setting a comment.
              */
-            val.str = configRBuf;
+            xf86_lex_val.str = configRBuf;
             return COMMENT;
         }
 
@@ -354,15 +354,15 @@ xf86getToken(xf86ConfigSymTabRec * tab)
                 if ((configBuf[configPos] == 'x') ||
                     (configBuf[configPos] == 'X')) {
                     base = 16;
-                    val.numType = PARSE_HEX;
+                    xf86_lex_val.numType = PARSE_HEX;
                 }
                 else {
                     base = 8;
-                    val.numType = PARSE_OCTAL;
+                    xf86_lex_val.numType = PARSE_OCTAL;
                 }
             else {
                 base = 10;
-                val.numType = PARSE_DECIMAL;
+                xf86_lex_val.numType = PARSE_DECIMAL;
             }
 
             configRBuf[0] = c;
@@ -374,8 +374,8 @@ xf86getToken(xf86ConfigSymTabRec * tab)
                 configRBuf[i++] = c;
             configPos--;        /* GJA -- one too far */
             configRBuf[i] = '\0';
-            val.num = strtoul(configRBuf, NULL, 0);
-            val.realnum = atof(configRBuf);
+            xf86_lex_val.num = strtoul(configRBuf, NULL, 0);
+            xf86_lex_val.realnum = atof(configRBuf);
             return NUMBER;
         }
 
@@ -389,8 +389,8 @@ xf86getToken(xf86ConfigSymTabRec * tab)
             }
             while ((c != '\"') && (c != '\n') && (c != '\r') && (c != '\0'));
             configRBuf[i] = '\0';
-            val.str = malloc(strlen(configRBuf) + 1);
-            strcpy(val.str, configRBuf);        /* private copy ! */
+            xf86_lex_val.str = malloc(strlen(configRBuf) + 1);
+            strcpy(xf86_lex_val.str, configRBuf);        /* private copy ! */
             return STRING;
         }
 
@@ -452,7 +452,7 @@ xf86getSubToken(char **comment)
         token = xf86getToken(NULL);
         if (token == COMMENT) {
             if (comment)
-                *comment = xf86addComment(*comment, val.str);
+                *comment = xf86addComment(*comment, xf86_lex_val.str);
         }
         else
             return token;
@@ -468,7 +468,7 @@ xf86getSubTokenWithTab(char **comment, xf86ConfigSymTabRec * tab)
         token = xf86getToken(tab);
         if (token == COMMENT) {
             if (comment)
-                *comment = xf86addComment(*comment, val.str);
+                *comment = xf86addComment(*comment, xf86_lex_val.str);
         }
         else
             return token;
@@ -1025,7 +1025,7 @@ xf86setSection(const char *section)
 int
 xf86getStringToken(xf86ConfigSymTabRec * tab)
 {
-    return StringToToken(val.str, tab);
+    return StringToToken(xf86_lex_val.str, tab);
 }
 
 static int
diff --git a/hw/xfree86/x86emu/ops.c b/hw/xfree86/x86emu/ops.c
index 8af1df4..b50badb 100644
--- a/hw/xfree86/x86emu/ops.c
+++ b/hw/xfree86/x86emu/ops.c
@@ -11705,38 +11705,38 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
         switch (rh) {
         case 0:                /* inc word ptr ... */
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                destval = inc_long(destval);
-                store_data_long(destoffset, destval);
+                destval32 = inc_long(destval32);
+                store_data_long(destoffset, destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                destval = inc_word(destval);
-                store_data_word(destoffset, destval);
+                destval16 = inc_word(destval16);
+                store_data_word(destoffset, destval16);
             }
             break;
         case 1:                /* dec word ptr ... */
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                destval = dec_long(destval);
-                store_data_long(destoffset, destval);
+                destval32 = dec_long(destval32);
+                store_data_long(destoffset, destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                destval = dec_word(destval);
-                store_data_word(destoffset, destval);
+                destval16 = dec_word(destval16);
+                store_data_word(destoffset, destval16);
             }
             break;
         case 2:                /* call word ptr ... */
@@ -11768,18 +11768,18 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
             break;
         case 6:                /*  push word ptr ... */
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                push_long(destval);
+                push_long(destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                push_word(destval);
+                push_word(destval16);
             }
             break;
         }
@@ -11790,38 +11790,38 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
         switch (rh) {
         case 0:
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                destval = inc_long(destval);
-                store_data_long(destoffset, destval);
+                destval32 = inc_long(destval32);
+                store_data_long(destoffset, destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                destval = inc_word(destval);
-                store_data_word(destoffset, destval);
+                destval16 = inc_word(destval16);
+                store_data_word(destoffset, destval16);
             }
             break;
         case 1:
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                destval = dec_long(destval);
-                store_data_long(destoffset, destval);
+                destval32 = dec_long(destval32);
+                store_data_long(destoffset, destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                destval = dec_word(destval);
-                store_data_word(destoffset, destval);
+                destval16 = dec_word(destval16);
+                store_data_word(destoffset, destval16);
             }
             break;
         case 2:                /* call word ptr ... */
@@ -11853,18 +11853,18 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
             break;
         case 6:                /*  push word ptr ... */
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                push_long(destval);
+                push_long(destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                push_word(destval);
+                push_word(destval16);
             }
             break;
         }
@@ -11875,38 +11875,38 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
         switch (rh) {
         case 0:
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                destval = inc_long(destval);
-                store_data_long(destoffset, destval);
+                destval32 = inc_long(destval32);
+                store_data_long(destoffset, destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                destval = inc_word(destval);
-                store_data_word(destoffset, destval);
+                destval16 = inc_word(destval16);
+                store_data_word(destoffset, destval16);
             }
             break;
         case 1:
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                destval = dec_long(destval);
-                store_data_long(destoffset, destval);
+                destval32 = dec_long(destval32);
+                store_data_long(destoffset, destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                destval = dec_word(destval);
-                store_data_word(destoffset, destval);
+                destval16 = dec_word(destval16);
+                store_data_word(destoffset, destval16);
             }
             break;
         case 2:                /* call word ptr ... */
@@ -11938,18 +11938,18 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
             break;
         case 6:                /*  push word ptr ... */
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 destval;
+                u32 destval32;
 
-                destval = fetch_data_long(destoffset);
+                destval32 = fetch_data_long(destoffset);
                 TRACE_AND_STEP();
-                push_long(destval);
+                push_long(destval32);
             }
             else {
-                u16 destval;
+                u16 destval16;
 
-                destval = fetch_data_word(destoffset);
+                destval16 = fetch_data_word(destoffset);
                 TRACE_AND_STEP();
-                push_word(destval);
+                push_word(destval16);
             }
             break;
         }
@@ -11958,38 +11958,38 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
         switch (rh) {
         case 0:
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 *destreg;
+                u32 *destreg32;
 
-                destreg = DECODE_RM_LONG_REGISTER(rl);
+                destreg32 = DECODE_RM_LONG_REGISTER(rl);
                 DECODE_PRINTF("\n");
                 TRACE_AND_STEP();
-                *destreg = inc_long(*destreg);
+                *destreg32 = inc_long(*destreg32);
             }
             else {
-                u16 *destreg;
+                u16 *destreg16;
 
-                destreg = DECODE_RM_WORD_REGISTER(rl);
+                destreg16 = DECODE_RM_WORD_REGISTER(rl);
                 DECODE_PRINTF("\n");
                 TRACE_AND_STEP();
-                *destreg = inc_word(*destreg);
+                *destreg16 = inc_word(*destreg16);
             }
             break;
         case 1:
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 *destreg;
+                u32 *destreg32;
 
-                destreg = DECODE_RM_LONG_REGISTER(rl);
+                destreg32 = DECODE_RM_LONG_REGISTER(rl);
                 DECODE_PRINTF("\n");
                 TRACE_AND_STEP();
-                *destreg = dec_long(*destreg);
+                *destreg32 = dec_long(*destreg32);
             }
             else {
-                u16 *destreg;
+                u16 *destreg16;
 
-                destreg = DECODE_RM_WORD_REGISTER(rl);
+                destreg16 = DECODE_RM_WORD_REGISTER(rl);
                 DECODE_PRINTF("\n");
                 TRACE_AND_STEP();
-                *destreg = dec_word(*destreg);
+                *destreg16 = dec_word(*destreg16);
             }
             break;
         case 2:                /* call word ptr ... */
@@ -12018,20 +12018,20 @@ x86emuOp_opcFF_word_RM(u8 X86EMU_UNUSED(op1))
             break;
         case 6:
             if (M.x86.mode & SYSMODE_PREFIX_DATA) {
-                u32 *destreg;
+                u32 *destreg32;
 
-                destreg = DECODE_RM_LONG_REGISTER(rl);
+                destreg32 = DECODE_RM_LONG_REGISTER(rl);
                 DECODE_PRINTF("\n");
                 TRACE_AND_STEP();
-                push_long(*destreg);
+                push_long(*destreg32);
             }
             else {
-                u16 *destreg;
+                u16 *destreg16;
 
-                destreg = DECODE_RM_WORD_REGISTER(rl);
+                destreg16 = DECODE_RM_WORD_REGISTER(rl);
                 DECODE_PRINTF("\n");
                 TRACE_AND_STEP();
-                push_word(*destreg);
+                push_word(*destreg16);
             }
             break;
         }
commit 3c94b89f149c2d63424faed0d44a6911393c3569
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:40:04 2013 -0800

    Xi: Use 'void *' instead of 'Pointer' (which is going away)
    
    There's no reason for XI to declare 'typedef char *Pointer' in a
    shared header file; assume it will eventually go away and stop using
    it here.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/Xi/grabdev.c b/Xi/grabdev.c
index 9c6c429..0900438 100644
--- a/Xi/grabdev.c
+++ b/Xi/grabdev.c
@@ -191,7 +191,7 @@ CreateMaskFromList(ClientPtr client, XEventClass * list, int count,
         for (j = 0; j < ExtEventIndex; j++)
             if (EventInfo[j].type == (*list & 0xff)) {
                 mask[device].mask |= EventInfo[j].mask;
-                mask[device].dev = (Pointer) tdev;
+                mask[device].dev = (void *) tdev;
                 break;
             }
     }
commit 08d0481e299c28b64a0db9bb0782ba2b551028fd
Author: Keith Packard <keithp at keithp.com>
Date:   Sun Dec 15 01:12:22 2013 -0800

    os: Fix -Wshadow errors
    
    Rename variables to avoid shadowing globals
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/os/xdmauth.c b/os/xdmauth.c
index 28584d2..f11cbb9 100644
--- a/os/xdmauth.c
+++ b/os/xdmauth.c
@@ -62,7 +62,7 @@ static XdmAuthKeyRec privateKey;
 static char XdmAuthenticationName[] = "XDM-AUTHENTICATION-1";
 
 #define XdmAuthenticationNameLen (sizeof XdmAuthenticationName - 1)
-static XdmAuthKeyRec rho;
+static XdmAuthKeyRec global_rho;
 
 static Bool
 XdmAuthenticationValidator(ARRAY8Ptr privateData, ARRAY8Ptr incomingData,
@@ -77,7 +77,7 @@ XdmAuthenticationValidator(ARRAY8Ptr privateData, ARRAY8Ptr incomingData,
             return FALSE;
         incoming = (XdmAuthKeyPtr) incomingData->data;
         XdmcpDecrementKey(incoming);
-        return XdmcpCompareKeys(incoming, &rho);
+        return XdmcpCompareKeys(incoming, &global_rho);
     }
     return FALSE;
 }
@@ -90,7 +90,7 @@ XdmAuthenticationGenerator(ARRAY8Ptr privateData, ARRAY8Ptr outgoingData,
     outgoingData->data = 0;
     if (packet_type == REQUEST) {
         if (XdmcpAllocARRAY8(outgoingData, 8))
-            XdmcpWrap((unsigned char *) &rho, (unsigned char *) &privateKey,
+            XdmcpWrap((unsigned char *) &global_rho, (unsigned char *) &privateKey,
                       outgoingData->data, 8);
     }
     return TRUE;
@@ -150,10 +150,10 @@ XdmAuthenticationInit(const char *cookie, int cookie_len)
             cookie_len = 7;
         memmove(privateKey.data + 1, cookie, cookie_len);
     }
-    XdmcpGenerateKey(&rho);
+    XdmcpGenerateKey(&global_rho);
     XdmcpRegisterAuthentication(XdmAuthenticationName, XdmAuthenticationNameLen,
-                                (char *) &rho,
-                                sizeof(rho),
+                                (char *) &global_rho,
+                                sizeof(global_rho),
                                 (ValidatorFunc) XdmAuthenticationValidator,
                                 (GeneratorFunc) XdmAuthenticationGenerator,
                                 (AddAuthorFunc) XdmAuthenticationAddAuth);
@@ -328,7 +328,7 @@ XdmAddCookie(unsigned short data_length, const char *data, XID id)
         if (authFromXDMCP) {
             /* R5 xdm sent bogus authorization data in the accept packet,
              * but we can recover */
-            rho_bits = rho.data;
+            rho_bits = global_rho.data;
             key_bits = (unsigned char *) data;
             key_bits[0] = '\0';
         }
@@ -341,7 +341,7 @@ XdmAddCookie(unsigned short data_length, const char *data, XID id)
         break;
 #ifdef XDMCP
     case 8:                    /* auth from XDMCP is 8 bytes long */
-        rho_bits = rho.data;
+        rho_bits = global_rho.data;
         key_bits = (unsigned char *) data;
         break;
 #endif
@@ -466,7 +466,7 @@ XdmRemoveCookie(unsigned short data_length, const char *data)
         break;
 #ifdef XDMCP
     case 8:
-        rho_bits = ρ
+        rho_bits = &global_rho;
         key_bits = (XdmAuthKeyPtr) data;
         break;
 #endif
diff --git a/os/xdmcp.c b/os/xdmcp.c
index fd8ae58..99616d9 100644
--- a/os/xdmcp.c
+++ b/os/xdmcp.c
@@ -641,15 +641,15 @@ XdmcpCloseDisplay(int sock)
 XdmcpBlockHandler(void *data, /* unused */
                   struct timeval **wt, void *pReadmask)
 {
-    fd_set *LastSelectMask = (fd_set *) pReadmask;
+    fd_set *last_select_mask = (fd_set *) pReadmask;
     CARD32 millisToGo;
 
     if (state == XDM_OFF)
         return;
-    FD_SET(xdmcpSocket, LastSelectMask);
+    FD_SET(xdmcpSocket, last_select_mask);
 #if defined(IPv6) && defined(AF_INET6)
     if (xdmcpSocket6 >= 0)
-        FD_SET(xdmcpSocket6, LastSelectMask);
+        FD_SET(xdmcpSocket6, last_select_mask);
 #endif
     if (timeOutTime == 0)
         return;
@@ -669,23 +669,23 @@ XdmcpBlockHandler(void *data, /* unused */
 XdmcpWakeupHandler(void *data,        /* unused */
                    int i, void *pReadmask)
 {
-    fd_set *LastSelectMask = (fd_set *) pReadmask;
+    fd_set *last_select_mask = (fd_set *) pReadmask;
     fd_set devicesReadable;
 
     if (state == XDM_OFF)
         return;
     if (i > 0) {
-        if (FD_ISSET(xdmcpSocket, LastSelectMask)) {
+        if (FD_ISSET(xdmcpSocket, last_select_mask)) {
             receive_packet(xdmcpSocket);
-            FD_CLR(xdmcpSocket, LastSelectMask);
+            FD_CLR(xdmcpSocket, last_select_mask);
         }
 #if defined(IPv6) && defined(AF_INET6)
-        if (xdmcpSocket6 >= 0 && FD_ISSET(xdmcpSocket6, LastSelectMask)) {
+        if (xdmcpSocket6 >= 0 && FD_ISSET(xdmcpSocket6, last_select_mask)) {
             receive_packet(xdmcpSocket6);
-            FD_CLR(xdmcpSocket6, LastSelectMask);
+            FD_CLR(xdmcpSocket6, last_select_mask);
         }
 #endif
-        XFD_ANDSET(&devicesReadable, LastSelectMask, &EnabledDevices);
+        XFD_ANDSET(&devicesReadable, last_select_mask, &EnabledDevices);
         if (XFD_ANYSET(&devicesReadable)) {
             if (state == XDM_AWAIT_USER_INPUT)
                 restart();
@@ -712,12 +712,12 @@ XdmcpWakeupHandler(void *data,        /* unused */
 
 static void
 XdmcpSelectHost(const struct sockaddr *host_sockaddr,
-                int host_len, ARRAY8Ptr AuthenticationName)
+                int host_len, ARRAY8Ptr auth_name)
 {
     state = XDM_START_CONNECTION;
     memmove(&req_sockaddr, host_sockaddr, host_len);
     req_socklen = host_len;
-    XdmcpSetAuthentication(AuthenticationName);
+    XdmcpSetAuthentication(auth_name);
     send_packet();
 }
 
@@ -730,9 +730,9 @@ XdmcpSelectHost(const struct sockaddr *host_sockaddr,
  /*ARGSUSED*/ static void
 XdmcpAddHost(const struct sockaddr *from,
              int fromlen,
-             ARRAY8Ptr AuthenticationName, ARRAY8Ptr hostname, ARRAY8Ptr status)
+             ARRAY8Ptr auth_name, ARRAY8Ptr hostname, ARRAY8Ptr status)
 {
-    XdmcpSelectHost(from, fromlen, AuthenticationName);
+    XdmcpSelectHost(from, fromlen, auth_name);
 }
 
 /*
@@ -1058,8 +1058,6 @@ send_query_msg(void)
     XdmcpWriteHeader(&buffer, &header);
     XdmcpWriteARRAYofARRAY8(&buffer, &AuthenticationNames);
     if (broadcast) {
-        int i;
-
         for (i = 0; i < NumBroadcastAddresses; i++)
             XdmcpFlush(xdmcpSocket, &buffer,
                        (XdmcpNetaddr) &BroadcastAddresses[i],
commit 1487145b41390e689f8b03c1e8a2df70e00cf519
Author: Keith Packard <keithp at keithp.com>
Date:   Fri Dec 13 11:25:45 2013 -0800

    Add 'FONT_PATH_NAME_ELEMENT_CONST' to dix-config.h and xorg-server.h
    
    This signals to the fontsproto code that the X server has been fixed
    to allow the name member in a FontPathElement struct to be declared
    const to eliminate piles of warnings when assigning string constants
    to them.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 957257b..55cfe47 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -472,4 +472,7 @@
 /* Don't let Xdefs.h define 'pointer' */
 #define _XTYPEDEF_POINTER       1
 
+/* Ask fontsproto to make font path element names const */
+#define FONT_PATH_ELEMENT_NAME_CONST    1
+
 #endif /* _DIX_CONFIG_H_ */
diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
index 0c651bf..8bf9d38 100644
--- a/include/xorg-server.h.in
+++ b/include/xorg-server.h.in
@@ -224,4 +224,7 @@
 /* Use XTrans FD passing support */
 #undef XTRANS_SEND_FDS
 
+/* Ask fontsproto to make font path element names const */
+#define FONT_PATH_ELEMENT_NAME_CONST    1
+
 #endif /* _XORG_SERVER_H_ */
commit 1ad8d12e7fcd7d55a37099d7426e3290297ba6d3
Author: Keith Packard <keithp at keithp.com>
Date:   Fri Dec 13 11:24:00 2013 -0800

    Ignore a couple of format-nonliteral warnings
    
    These are generated in code which uses sprintf as a convenient way to
    construct strings from various pieces.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c
index e2e8d08..46438e6 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -155,6 +155,7 @@ xf86OpenConsole(void)
 
         i = 0;
         while (vcs[i] != NULL) {
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
             snprintf(vtname, sizeof(vtname), vcs[i], xf86Info.vtno);    /* /dev/tty1-64 */
             if ((xf86Info.consoleFd = open(vtname, O_RDWR | O_NDELAY, 0)) >= 0)
                 break;
diff --git a/os/log.c b/os/log.c
index 792b79e..8deb810 100644
--- a/os/log.c
+++ b/os/log.c
@@ -195,6 +195,7 @@ LogInit(const char *fname, const char *backup)
     char *logFileName = NULL;
 
     if (fname && *fname) {
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
         if (asprintf(&logFileName, fname, display) == -1)
             FatalError("Cannot allocate space for the log file name\n");
 
@@ -205,6 +206,7 @@ LogInit(const char *fname, const char *backup)
                 char *suffix;
                 char *oldLog;
 
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
                 if ((asprintf(&suffix, backup, display) == -1) ||
                     (asprintf(&oldLog, "%s%s", logFileName, suffix) == -1))
                     FatalError("Cannot allocate space for the log file name\n");
commit 9ef53e2267ea3dd60651961f66c65e8b00b7d823
Author: Keith Packard <keithp at keithp.com>
Date:   Wed Dec 11 11:55:37 2013 -0800

    include: GetClientResolutions is declared in font.h
    
    No need to have a duplicate definition here.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Eric Anholt <eric at anholt.net>

diff --git a/include/dixfontstubs.h b/include/dixfontstubs.h
index 0454ffa..535d312 100644
--- a/include/dixfontstubs.h
+++ b/include/dixfontstubs.h
@@ -11,8 +11,6 @@ extern _X_EXPORT int client_auth_generation(ClientPtr client);
 
 extern _X_EXPORT void DeleteFontClientID(Font id);
 
-extern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num);
-
 extern _X_EXPORT int GetDefaultPointSize(void);
 
 extern _X_EXPORT Font GetNewFontClientID(void);


More information about the xorg-commit mailing list