xserver: Branch 'input-hotplug' - 6 commits

Daniel Stone daniels at kemper.freedesktop.org
Sat Jul 22 09:07:38 PDT 2006


 hw/xfree86/common/xf86.h     |    4 
 hw/xfree86/common/xf86Bus.c  |   59 ----------
 hw/xfree86/common/xf86Bus.h  |    9 -
 hw/xfree86/loader/dlloader.c |    2 
 hw/xfree86/loader/dlloader.h |    2 
 hw/xfree86/loader/loader.c   |   15 --
 hw/xfree86/loader/loadmod.c  |   44 ++------
 hw/xfree86/loader/xf86sym.c  |    6 -
 record/set.c                 |  236 -------------------------------------------
 9 files changed, 20 insertions(+), 357 deletions(-)

New commits:
diff-tree a73cef1f005ca66db18e952e676ee5a21b829700 (from parents)
Merge: 672ca156bfb11440e6e234650bfba9d38e1edb52 70869fc6777f87cd05794446caa739e3d9a91ffe
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Sat Jul 22 12:07:22 2006 -0400

    Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug

diff-tree 70869fc6777f87cd05794446caa739e3d9a91ffe (from 7c1b2ee7a8238c267bc97e78bbff204dc7723dd3)
Author: Adam Jackson <ajax at theobromine.nwnk.net>
Date:   Fri Jul 21 23:39:37 2006 -0400

    Yet more dead code.

diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index 9978683..6a2ed46 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -164,9 +164,6 @@ void xf86EnablePciBusMaster(pciVideoPtr 
 #endif
 void xf86RegisterStateChangeNotificationCallback(xf86StateChangeNotificationCallbackFunc func, pointer arg);
 Bool xf86DeregisterStateChangeNotificationCallback(xf86StateChangeNotificationCallbackFunc func);
-#ifdef async
-Bool xf86QueueAsyncEvent(void (*func)(pointer),pointer arg);
-#endif
 
 int xf86GetLastScrnFlag(int entityIndex);
 void xf86SetLastScrnFlag(int entityIndex, int scrnIndex);
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index f4a22ac..e5c9615 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -3120,23 +3120,6 @@ notifyStateChange(xf86NotifyState state)
     }
 }
 
-#ifdef async
-_X_EXPORT Bool
-xf86QueueAsyncEvent(void (*func)(pointer),pointer arg)
-{
-    AsyncQPtr new;
-    
-    if (!AsyncQ) return FALSE;
-
-    new = (AsyncQPtr)xfnalloc(sizeof(AsyncQRec));
-    new->func = func;
-    new->arg = arg;
-    (*AsyncQPtr)->next = new;
-    AsyncQPtr = &new;
-    return TRUE;
-}
-#endif
-
 /* Multihead accel sharing accessor functions and entity Private handling */
 
 _X_EXPORT int
diff --git a/hw/xfree86/common/xf86Bus.h b/hw/xfree86/common/xf86Bus.h
index ea86c1c..b7d1608 100644
--- a/hw/xfree86/common/xf86Bus.h
+++ b/hw/xfree86/common/xf86Bus.h
@@ -74,15 +74,6 @@ typedef struct {
     IOADDRESS                   domainIO;
 } EntityRec, *EntityPtr;
 
-/* asynchronous event handling */
-#ifdef async
-typedef struct _AsyncQRec {
-    void (*func)(pointer);
-    pointer arg;
-    struct _AsyncQRec *next;
-} AsyncQRec, *AsyncQPtr;
-#endif
-
 #define NO_SEPARATE_IO_FROM_MEM 0x0001
 #define NO_SEPARATE_MEM_FROM_IO 0x0002
 #define NEED_VGA_ROUTED 0x0004
diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index ad4f773..598b763 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -356,9 +356,6 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86RegisterStateChangeNotificationCallback)
     SYMFUNC(xf86DeregisterStateChangeNotificationCallback)
     SYMFUNC(xf86NoSharedResources)
-#ifdef async
-    SYMFUNC(xf86QueueAsyncEvent)
-#endif
     /* Shared Accel Accessor Functions */
     SYMFUNC(xf86GetLastScrnFlag)
     SYMFUNC(xf86SetLastScrnFlag)
@@ -1146,9 +1143,6 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMVAR(xf86DummyVar3)
 #endif
 
-#ifdef async
-    SYMVAR(xf86CurrentScreen)
-#endif
     /* predefined resource lists from xf86Bus.h */
     SYMVAR(resVgaExclusive)
     SYMVAR(resVgaShared)
diff-tree 7c1b2ee7a8238c267bc97e78bbff204dc7723dd3 (from 1c4f90b1d05d4c49279f3224a6dd94850a6bd8d0)
Author: Adam Jackson <ajax at theobromine.nwnk.net>
Date:   Fri Jul 21 23:35:13 2006 -0400

    static markup, more dead code.

diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index 2f6aeac..9978683 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -52,7 +52,6 @@ extern Bool xf86DoConfigurePass1;
 extern int xf86ScreenIndex;		/* Index into pScreen.devPrivates */
 extern int xf86CreateRootWindowIndex;	/* Index into pScreen.devPrivates */
 extern int xf86PixmapIndex;
-extern Bool xf86ResAccessEnter;
 extern ScrnInfoPtr *xf86Screens;	/* List of pointers to ScrnInfoRecs */
 extern const unsigned char byte_reversed[256];
 extern ScrnInfoPtr xf86CurrentScreen;
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 057dfb0..f4a22ac 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -65,7 +65,7 @@ xf86CurrentAccessRec xf86CurrentAccess =
 
 BusRec primaryBus = { BUS_NONE, {{0}}};
 
-Bool xf86ResAccessEnter = FALSE;
+static Bool xf86ResAccessEnter = FALSE;
 
 #ifdef REDUCER
 /* Resources that temporarily conflict with estimated resources */
@@ -664,32 +664,6 @@ xf86AccessRestoreState(void)
  * Otherwise resources needed for access control might be shadowed
  * by other resources!
  */
-#ifdef async
-
-static AsyncQPtr *AsyncQ = NULL;
-_X_EXPORT ScrnInfoPtr xf86CurrentScreen = NULL;
-
-#define SETUP_Q  org = AsyncQ; \
-	         AsyncQ = &new;
-
-#define PROCESS_Q xf86CurrentScreen = pScrn;
-                  if (!new) AsyncQ = org; \
-                  else { \
-                       AsyncQPtr tmp_Q; \
-                       while (1) {\
-                          new->func(new->arg);\
-                          if (!(new->next)) {\
-			      AsyncQ = org; xfree(new); break; \
-			   } \
-			   tmp_Q = new->next; \
-		           xfree(new); \
- 		           new = tmp_Q; \
-		       } \
-                  }
-#else
-#define SETUP_Q
-#define PROCESS_Q
-#endif
 
 _X_EXPORT void
 xf86EnableAccess(ScrnInfoPtr pScrn)
@@ -698,9 +672,6 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
     register EntityAccessPtr pceAcc;
     register xf86AccessPtr pAcc;
     EntityAccessPtr tmp;
-#ifdef async
-    AsyncQPtr *org, new = NULL;
-#endif
 
 #ifdef DEBUG
     ErrorF("Enable access %i\n",pScrn->scrnIndex);
@@ -709,9 +680,7 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
     /* Entity is not under access control or currently enabled */
     if (!pScrn->access) {
 	if (pScrn->busAccess) {
-	    SETUP_Q;
 	    ((BusAccPtr)pScrn->busAccess)->set_f(pScrn->busAccess);
-	    PROCESS_Q;
 	}
 	return;
     }
@@ -722,7 +691,6 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
 	if (peAcc == pceAcc) {
 	    return;
 	}
-	SETUP_Q;
 	if (pScrn->CurrentAccess->pMemAccess == pceAcc)
 	    pScrn->CurrentAccess->pMemAccess = NULL;
 	while (pceAcc) {
@@ -740,13 +708,11 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
 	    peAcc = peAcc->next;
 	}
 	pScrn->CurrentAccess->pIoAccess = (EntityAccessPtr) pScrn->access;
-	PROCESS_Q;
 	return;
 	
     case MEM_IO:
 	pceAcc = pScrn->CurrentAccess->pIoAccess;
 	if (peAcc != pceAcc) { /* current Io != pAccess */
-	    SETUP_Q;
 	    tmp = pceAcc;
 	    while (pceAcc) {
 		pAcc = pceAcc->pAccess;
@@ -769,7 +735,6 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
 	    if (pceAcc == peAcc) { /* current Mem == pAccess */
 		return;
 	    }
-	    SETUP_Q;
 	    while (pceAcc) {  /* current Mem != pAccess */
 		pAcc = pceAcc->pAccess;
 		if (pAcc && pAcc->AccessDisable) 
@@ -787,7 +752,6 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
 	}
 	pScrn->CurrentAccess->pMemAccess =
 	    pScrn->CurrentAccess->pIoAccess = (EntityAccessPtr) pScrn->access;
-	PROCESS_Q;
 	return;
 	
     case MEM:
@@ -795,7 +759,6 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
 	if (peAcc == pceAcc) {
 	    return;
 	}
-	SETUP_Q;
 	if (pScrn->CurrentAccess->pIoAccess == pceAcc)
 	    pScrn->CurrentAccess->pIoAccess = NULL;
 	while (pceAcc) {
@@ -813,14 +776,11 @@ xf86EnableAccess(ScrnInfoPtr pScrn)
 	    peAcc = peAcc->next;
 	}
 	pScrn->CurrentAccess->pMemAccess = (EntityAccessPtr) pScrn->access;
-	PROCESS_Q;
 	return;
 
     case NONE:
 	if (pScrn->busAccess) {
-	    SETUP_Q;
 	    ((BusAccPtr)pScrn->busAccess)->set_f(pScrn->busAccess);
-	    PROCESS_Q;
 	}
 	return;
     }
diff-tree 1c4f90b1d05d4c49279f3224a6dd94850a6bd8d0 (from 114264584ca43091a5e07282566a30a6378a1502)
Author: Adam Jackson <ajax at theobromine.nwnk.net>
Date:   Fri Jul 21 23:03:21 2006 -0400

    Open-coded path checks make baby Jesus cry.

diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
index 53dcffe..12f5dc9 100644
--- a/hw/xfree86/loader/loadmod.c
+++ b/hw/xfree86/loader/loadmod.c
@@ -115,6 +115,17 @@ FreeStringList(char **paths)
 
 static char **defaultPathList = NULL;
 
+static Bool
+PathIsAbsolute(const char *path)
+{
+#ifdef __UNIXOS2__
+    return (*path == '/' || (strlen(path) > 2 && isalpha(elem[0]) &&
+		elem[1] == ':' && elem[2] == '/'));
+#else
+    return (*path == '/');
+#endif
+}	
+
 /*
  * Convert a comma-separated path into a NULL-terminated array of path
  * elements, rejecting any that are not full absolute paths, and appending
@@ -138,13 +149,7 @@ InitPathList(const char *path)
 	return NULL;
     elem = strtok(fullpath, ",");
     while (elem) {
-	/* Only allow fully specified paths */
-#ifndef __UNIXOS2__
-	if (*elem == '/')
-#else
-	if (*elem == '/' || (strlen(elem) > 2 && isalpha(elem[0]) &&
-			     elem[1] == ':' && elem[2] == '/'))
-#endif
+	if (PathIsAbsolute(elem))
 	{
 	    len = strlen(elem);
 	    addslash = (elem[len - 1] != '/');
@@ -750,13 +755,7 @@ LoadSubModule(ModuleDescPtr parent, cons
 
     xf86MsgVerb(X_INFO, 3, "Loading sub module \"%s\"\n", module);
 
-    /* Absolute module paths are not allowed here */
-#ifndef __UNIXOS2__
-    if (module[0] == '/')
-#else
-    if (isalpha(module[0]) && module[1] == ':' && module[2] == '/')
-#endif
-    {
+    if (PathIsAbsolute(module)) {
 	xf86Msg(X_ERROR,
 		"LoadSubModule: Absolute module path not permitted: \"%s\"\n",
 		module);
@@ -786,12 +785,7 @@ LoadSubModuleLocal(ModuleDescPtr parent,
 
     xf86MsgVerb(X_INFO, 3, "Loading local sub module \"%s\"\n", module);
 
-    /* Absolute module paths are not allowed here */
-#ifndef __UNIXOS2__
-    if (module[0] == '/')
-#else
-    if (isalpha(module[0]) && module[1] == ':' && module[2] == '/')
-#endif
+    if (PathIsAbsolute(module))
     {
 	xf86Msg(X_ERROR,
 		"LoadSubModule: Absolute module path not permitted: \"%s\"\n",
@@ -908,14 +902,8 @@ doLoadModule(const char *module, const c
      * if the module name is not a full pathname, we need to
      * check the elements in the path
      */
-#ifndef __UNIXOS2__
-    if (module[0] == '/')
-	found = xstrdup(module);
-#else
-    /* accept a drive name here */
-    if (isalpha(module[0]) && module[1] == ':' && module[2] == '/')
-	found = xstrdup(module);
-#endif
+    if (PathIsAbsolute(module))
+	xstrdup(module);
     path_elem = pathlist;
     while (!found && *path_elem != NULL) {
 	found = FindModule(m, *path_elem, subdirlist, patterns);
diff-tree 114264584ca43091a5e07282566a30a6378a1502 (from 985611d5cd079f97da700c7b8e898d33da004be0)
Author: Adam Jackson <ajax at theobromine.nwnk.net>
Date:   Fri Jul 21 22:55:41 2006 -0400

    Remove a useless open() of the module we're about to load.

diff --git a/hw/xfree86/loader/dlloader.c b/hw/xfree86/loader/dlloader.c
index 7db04b1..a0e8670 100644
--- a/hw/xfree86/loader/dlloader.c
+++ b/hw/xfree86/loader/dlloader.c
@@ -129,7 +129,7 @@ DLFindSymbol(const char *name)
 }
 
 void *
-DLLoadModule(loaderPtr modrec, int fd, int flags)
+DLLoadModule(loaderPtr modrec, int flags)
 {
     DLModulePtr dlfile;
     DLModuleList *l;
diff --git a/hw/xfree86/loader/dlloader.h b/hw/xfree86/loader/dlloader.h
index b705a18..8ae610f 100644
--- a/hw/xfree86/loader/dlloader.h
+++ b/hw/xfree86/loader/dlloader.h
@@ -26,7 +26,7 @@
 #ifndef _DLLOADER_H
 #define _DLLOADER_H
 
-extern void *DLLoadModule(loaderPtr, int, int flags);
+extern void *DLLoadModule(loaderPtr, int flags);
 extern void DLUnloadModule(void *);
 extern void *DLFindSymbol(const char *name);
 
diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
index 42a9d3c..ddd624c 100644
--- a/hw/xfree86/loader/loader.c
+++ b/hw/xfree86/loader/loader.c
@@ -313,7 +313,6 @@ LoaderOpen(const char *module, const cha
 {
     loaderPtr tmp;
     int new_handle;
-    int fd;
 
 #if defined(DEBUG)
     ErrorF("LoaderOpen(%s)\n", module);
@@ -369,16 +368,6 @@ LoaderOpen(const char *module, const cha
     freeHandles[new_handle] = HANDLE_USED;
     refCount[new_handle] = 1;
 
-    if ((fd = open(module, O_RDONLY)) < 0) {
-	xf86Msg(X_ERROR, "Unable to open %s\n", module);
-	freeHandles[new_handle] = HANDLE_FREE;
-	if (errmaj)
-	    *errmaj = LDR_NOMODOPEN;
-	if (errmin)
-	    *errmin = errno;
-	return -1;
-    }
-
     tmp = _LoaderListPush();
     tmp->name = malloc(strlen(module) + 1);
     strcpy(tmp->name, module);
@@ -387,7 +376,7 @@ LoaderOpen(const char *module, const cha
     tmp->handle = new_handle;
     tmp->module = moduleseq++;
 
-    if ((tmp->private = DLLoadModule(tmp, fd, flags)) == NULL) {
+    if ((tmp->private = DLLoadModule(tmp, flags)) == NULL) {
 	xf86Msg(X_ERROR, "Failed to load %s\n", module);
 	_LoaderListPop(new_handle);
 	freeHandles[new_handle] = HANDLE_FREE;
@@ -398,8 +387,6 @@ LoaderOpen(const char *module, const cha
 	return -1;
     }
 
-    close(fd);
-
     return new_handle;
 }
 
diff-tree 985611d5cd079f97da700c7b8e898d33da004be0 (from 6cf844ab69926b6d23619a12c97734af3881ba67)
Author: Adam Jackson <ajax at theobromine.nwnk.net>
Date:   Fri Jul 21 22:37:59 2006 -0400

    Delete some long-unused testing code.

diff --git a/record/set.c b/record/set.c
index 7323aa0..0ebb088 100644
--- a/record/set.c
+++ b/record/set.c
@@ -1,4 +1,3 @@
-
 /*
 
 Copyright 1995, 1998  The Open Group
@@ -44,9 +43,6 @@ from The Open Group.
     implemented, and RecordCreateSet will decide heuristically which one
     to use based on the set members.
 
-    Note: When compiling for use in the server, do not use -DTESTING.
-    When compiling for stand-alone testing of the set ADT, use -DTESTING.
-
 */
 
 #ifdef HAVE_DIX_CONFIG_H
@@ -55,41 +51,7 @@ from The Open Group.
 
 #include <string.h>
 
-#ifndef TESTING
 #include "misc.h"
-#else
-#include <stdio.h>
-#include <stdlib.h>
-
-/* stuff that you normally get from the X Server's environment */
-
-typedef int Bool;
-#ifndef TRUE
-#define TRUE 1
-#define FALSE 0
-#endif
-
-typedef unsigned short CARD16;
-
-#define xalloc malloc
-#define xfree free
-#define ALLOCATE_LOCAL malloc
-#define DEALLOCATE_LOCAL free
-
-void *Xcalloc(size)
-    int size;
-{
-    void *p = malloc(size);
-    if (p) memset(p, 0, size);
-    return p;
-}
-
-#ifndef max
-#define max(_a, _b) ( ((_a) > (_b)) ? (_a) : (_b) )
-#endif
-
-#endif /* TESTING */
-
 #include "set.h"
 
 static int
@@ -402,20 +364,6 @@ bailout:
     return (RecordSetPtr)prls;
 }
 
-#ifdef TESTING
-typedef enum {
-  BitVectorImplementation, IntervalListImplementation} RecordSetImplementation;
-
-RecordSetImplementation _RecordSetImpl;
-
-static void
-_RecordForceSetImplementation(setimpl)
-    RecordSetImplementation setimpl;
-{
-    _RecordSetImpl = setimpl;
-}
-#endif
-
 typedef RecordSetPtr (*RecordCreateSetProcPtr)(
     RecordSetInterval *pIntervals,
     int nIntervals,
@@ -438,12 +386,8 @@ _RecordSetMemoryRequirements(RecordSetIn
 					    &bma);
     rlsize = IntervalListMemoryRequirements(pIntervals, nIntervals, maxMember,
 					    &rla);
-#ifdef TESTING
-    if (_RecordSetImpl == BitVectorImplementation)
-#else
     if ( ( (nIntervals > 1) && (maxMember <= 255) )
 	|| (bmsize < rlsize) )
-#endif
     {
 	*alignment = bma;
 	*ppCreateSet = BitVectorCreateSet;
@@ -492,183 +436,3 @@ RecordCreateSet(pIntervals, nIntervals, 
     }
     return (*pCreateSet)(pIntervals, nIntervals, pMem, size);
 }
-
-/***************************************************************************/
-
-#ifdef TESTING
-
-/*
-
-Test Strategy
-
-Having two set representations is convenient for testing because we
-can play them against each other.  The test code will be able to
-specify which implementation to use.  This breaks the encapsulation,
-but that seems acceptable for testing.  The crux of the test loop
-looks like this:
-
-loop:
-    generate random list of Intervals
-
-    create set A using bit vector implementation
-    create set B using Interval list implementation
-
-    for each possible set member
-        if set A and set B disagree on whether this is a member    error;
-
-    iterate over both sets, comparing the intervals returned by each.
-    if intervals or number of intervals are different    error;
-
-    iterate over intervals of set A
-	for i = interval.first to interval.last
-	    if i is not a member of set B	error;
-
-    iterate over intervals of set B
-	for i = interval.first to interval.last
-	    if i is not a member of set A	error;
-
-    destroy sets A, B
-
-*/
-
-int GenerateRandomIntervals(pIntervals, maxintervals)
-    RecordSetInterval *pIntervals;
-    int maxintervals;
-{
-    int i, nIntervals;
-
-    nIntervals = rand() % maxintervals;
-
-    for (i = 0; i < nIntervals; i++)
-    {
-	pIntervals[i].first = rand();
-	pIntervals[i].last  = pIntervals[i].first + rand();
-    }
-    return nIntervals;
-}
-
-#define MAXINTERVALS 100
-
-int main(argc, argv)
-    int argc;
-    char **argv;
-{
-    RecordSetPtr bs, rs;
-    RecordSetInterval br, rr;
-    RecordSetIteratePtr bi, ri;
-    CARD16 i;
-    int testcount;
-    RecordSetInterval intervals[MAXINTERVALS];
-    int nIntervals;
-    int bsize, rsize;
-    int balign, ralign;
-    int pad;
-
-    for (testcount = 0; 1; testcount++)
-    {
-	nIntervals = GenerateRandomIntervals(intervals, MAXINTERVALS);
-	printf("%d nIntervals %d\n", testcount, nIntervals);
-
-	if (testcount & 1)
-	{
-	    _RecordForceSetImplementation(BitVectorImplementation);
-	    bsize = RecordSetMemoryRequirements(intervals, nIntervals, &balign);
-	    _RecordForceSetImplementation(IntervalListImplementation);
-	    rsize = RecordSetMemoryRequirements(intervals, nIntervals, &ralign);
-	    pad = (ralign - (bsize & (ralign - 1))) & (ralign - 1);
-	    bs = (RecordSetPtr)xalloc(bsize + pad + rsize );
-	    if (!bs)
-	    {
-		fprintf(stderr, "%d: failed to alloc memory for  sets\n",
-			testcount);
-		continue;
-	    }
-	    rs = (RecordSetPtr)(((char *)bs) + bsize + pad);
-	}
-	else
-	{
-	    bs = rs = NULL;
-	    bsize = rsize = 0;
-	}
-
-	_RecordForceSetImplementation(BitVectorImplementation);
-	bs = RecordCreateSet(intervals, nIntervals, bs, bsize);
-	_RecordForceSetImplementation(IntervalListImplementation);
-	rs = RecordCreateSet(intervals, nIntervals, rs, rsize);
-
-	if (!bs || !rs)
-	{
-	    fprintf(stderr, "%d: failed to create sets\n", testcount);
-	    continue;
-	}
-
-	for (i = 0; i < 65535; i++)
-	{
-	    unsigned long b, r;
-
-	    b = RecordIsMemberOfSet(bs, i);
-	    r = RecordIsMemberOfSet(rs, i);
-	    if ( (b && !r) || (!b && r) )
-	    {
-		fprintf(stderr, "%d: isMemberOfSet %d\n",
-			testcount, (int)i);
-	    }
-	}
-
-	bi = RecordIterateSet(bs, NULL, &br);
-	ri = RecordIterateSet(rs, NULL, &rr);
-
-	while (bi && ri)
-	{
-	    if ( (rr.first != br.first) || (rr.last != br.last) )
-	    {
-		fprintf(stderr, "%d: iterateSet interval value mismatch\n",
-			testcount);
-	    }
-	    bi = RecordIterateSet(bs, bi, &br);
-	    ri = RecordIterateSet(rs, ri, &rr);
-	}
-	if (bi != ri)
-	{
-	    fprintf(stderr, "%d: iterateSet interval count mismatch\n",
-		    testcount);
-	}
-	
-
-	bi = NULL;
-	while (bi = RecordIterateSet(bs, bi, &br))
-	{
-	    for (i = br.first; i <= br.last; i++)
-	    {
-		if (!RecordIsMemberOfSet(rs, i))
-		{
-		    fprintf(stderr, "%d: iterateSet b / isMemberOfSet r %d\n",
-			    testcount, (int)i);
-		}
-	    }
-	}
-
-	ri = NULL;
-	while (ri = RecordIterateSet(rs, ri, &rr))
-	{
-	    for (i = rr.first; i <= rr.last; i++)
-	    {
-		if (!RecordIsMemberOfSet(bs, i) )
-		{
-		    fprintf(stderr, "%d: iterateSet r / isMemberOfSet b %d\n",
-			    testcount, (int)i);
-		}
-	    }
-	}
-
-	RecordDestroySet(bs);
-	RecordDestroySet(rs);
-
-	if (testcount & 1)
-	{
-	    xfree(bs);
-	}
-    }
-}
-
-#endif /* TESTING */



More information about the xorg-commit mailing list