summaryrefslogtreecommitdiff
path: root/dix/dixutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'dix/dixutils.c')
-rw-r--r--dix/dixutils.c69
1 files changed, 53 insertions, 16 deletions
diff --git a/dix/dixutils.c b/dix/dixutils.c
index 3b16c6a13..7e9bfa4bf 100644
--- a/dix/dixutils.c
+++ b/dix/dixutils.c
@@ -1,3 +1,4 @@
+/* $XFree86: xc/programs/Xserver/dix/dixutils.c,v 3.13 2003/01/12 02:44:26 dawes Exp $ */
/***********************************************************
Copyright 1987, 1998 The Open Group
@@ -94,7 +95,7 @@ Author: Adobe Systems Incorporated
#include "keysymdef.h"
#ifdef XCSECURITY
#define _SECURITY_SERVER
-#include "extensions/security.h"
+#include "security.h"
#endif
/*
@@ -326,7 +327,7 @@ AlterSaveSetForClient(client, pWin, mode)
unsigned mode;
{
int numnow;
- pointer *pTmp;
+ pointer *pTmp = NULL;
int j;
numnow = client->numSaved;
@@ -397,11 +398,7 @@ DeleteWindowFromAnySaveSet(pWin)
* procedure to call than to check if there's a procedure
*/
void
-NoopDDA(
-#if NeedVarargsPrototypes
- void* f, ...
-#endif
-)
+NoopDDA(void)
{
}
@@ -556,7 +553,7 @@ WorkQueuePtr workQueue;
static WorkQueuePtr *workQueueLast = &workQueue;
void
-ProcessWorkQueue()
+ProcessWorkQueue(void)
{
WorkQueuePtr q, *p;
@@ -567,7 +564,7 @@ ProcessWorkQueue()
* they will be called again. This must be reentrant with
* QueueWorkProc.
*/
- while (q = *p)
+ while ((q = *p))
{
if ((*q->function) (q->client, q->closure))
{
@@ -584,12 +581,12 @@ ProcessWorkQueue()
}
void
-ProcessWorkQueueZombies()
+ProcessWorkQueueZombies(void)
{
WorkQueuePtr q, *p;
p = &workQueue;
- while (q = *p)
+ while ((q = *p))
{
if (q->client && q->client->clientGone)
{
@@ -607,10 +604,22 @@ ProcessWorkQueueZombies()
}
Bool
+#if NeedFunctionPrototypes
+QueueWorkProc (
+ Bool (*function)(
+#if NeedNestedPrototypes
+ ClientPtr /* pClient */,
+ pointer /* closure */
+#endif
+ ),
+ ClientPtr client,
+ pointer closure)
+#else
QueueWorkProc (function, client, closure)
Bool (*function)();
ClientPtr client;
pointer closure;
+#endif
{
WorkQueuePtr q;
@@ -637,7 +646,7 @@ QueueWorkProc (function, client, closure)
typedef struct _SleepQueue {
struct _SleepQueue *next;
ClientPtr client;
- Bool (*function)();
+ ClientSleepProcPtr function;
pointer closure;
} SleepQueueRec, *SleepQueuePtr;
@@ -646,7 +655,7 @@ static SleepQueuePtr sleepQueue = NULL;
Bool
ClientSleep (client, function, closure)
ClientPtr client;
- Bool (*function)();
+ ClientSleepProcPtr function;
pointer closure;
{
SleepQueuePtr q;
@@ -692,7 +701,11 @@ ClientWakeup (client)
*prev = q->next;
xfree (q);
if (client->clientGone)
- CloseDownClient(client);
+ /* Oops -- new zombie cleanup code ensures this only
+ * happens from inside CloseDownClient; don't want to
+ * recurse here...
+ */
+ /* CloseDownClient(client) */;
else
AttendClient (client);
break;
@@ -723,10 +736,17 @@ static int numCallbackListsToCleanup = 0;
static CallbackListPtr **listsToCleanup = NULL;
static Bool
+#if NeedFunctionPrototypes
+_AddCallback(
+ CallbackListPtr *pcbl,
+ CallbackProcPtr callback,
+ pointer data)
+#else
_AddCallback(pcbl, callback, data)
CallbackListPtr *pcbl;
CallbackProcPtr callback;
pointer data;
+#endif
{
CallbackPtr cbr;
@@ -742,14 +762,20 @@ _AddCallback(pcbl, callback, data)
}
static Bool
+#if NeedFunctionPrototypes
+_DeleteCallback(
+ CallbackListPtr *pcbl,
+ CallbackProcPtr callback,
+ pointer data)
+#else
_DeleteCallback(pcbl, callback, data)
CallbackListPtr *pcbl;
CallbackProcPtr callback;
pointer data;
+#endif
{
CallbackListPtr cbl = *pcbl;
CallbackPtr cbr, pcbr;
- int i;
for (pcbr = NULL, cbr = cbl->list;
cbr != NULL;
@@ -779,9 +805,15 @@ _DeleteCallback(pcbl, callback, data)
}
static void
+#if NeedFunctionPrototypes
+_CallCallbacks(
+ CallbackListPtr *pcbl,
+ pointer call_data)
+#else
_CallCallbacks(pcbl, call_data)
CallbackListPtr *pcbl;
pointer call_data;
+#endif
{
CallbackListPtr cbl = *pcbl;
CallbackPtr cbr, pcbr;
@@ -836,8 +868,13 @@ _CallCallbacks(pcbl, call_data)
}
static void
+#if NeedFunctionPrototypes
+_DeleteCallbackList(
+ CallbackListPtr *pcbl)
+#else
_DeleteCallbackList(pcbl)
CallbackListPtr *pcbl;
+#endif
{
CallbackListPtr cbl = *pcbl;
CallbackPtr cbr, nextcbr;
@@ -851,7 +888,7 @@ _DeleteCallbackList(pcbl)
for (i = 0; i < numCallbackListsToCleanup; i++)
{
- if (listsToCleanup[i] = pcbl)
+ if ((listsToCleanup[i] = pcbl) != 0)
{
listsToCleanup[i] = NULL;
break;