damage: simplify dispatcher
These dispatcher functions are much more complex than they're usually are (just switch/case statement). Bring them in line with the standard scheme used in the Xserver, so further steps become easier. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
579ece670b
commit
5b4696368a
|
@ -468,25 +468,26 @@ ProcDamageAdd(ClientPtr client)
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int (*ProcDamageVector[XDamageNumberRequests]) (ClientPtr) = {
|
|
||||||
/*************** Version 1 ******************/
|
|
||||||
ProcDamageQueryVersion,
|
|
||||||
ProcDamageCreate,
|
|
||||||
ProcDamageDestroy,
|
|
||||||
ProcDamageSubtract,
|
|
||||||
/*************** Version 1.1 ****************/
|
|
||||||
ProcDamageAdd,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ProcDamageDispatch(ClientPtr client)
|
ProcDamageDispatch(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xReq);
|
REQUEST(xReq);
|
||||||
|
switch (stuff->data) {
|
||||||
if (stuff->data >= ARRAY_SIZE(ProcDamageVector))
|
/* version 1 */
|
||||||
return BadRequest;
|
case X_DamageQueryVersion:
|
||||||
|
return ProcDamageQueryVersion(client);
|
||||||
return (*ProcDamageVector[stuff->data]) (client);
|
case X_DamageCreate:
|
||||||
|
return ProcDamageCreate(client);
|
||||||
|
case X_DamageDestroy:
|
||||||
|
return ProcDamageDestroy(client);
|
||||||
|
case X_DamageSubtract:
|
||||||
|
return ProcDamageSubtract(client);
|
||||||
|
/* version 1.1 */
|
||||||
|
case X_DamageAdd:
|
||||||
|
return ProcDamageAdd(client);
|
||||||
|
default:
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _X_COLD
|
static int _X_COLD
|
||||||
|
@ -496,7 +497,7 @@ SProcDamageQueryVersion(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xDamageQueryVersionReq);
|
REQUEST_SIZE_MATCH(xDamageQueryVersionReq);
|
||||||
swapl(&stuff->majorVersion);
|
swapl(&stuff->majorVersion);
|
||||||
swapl(&stuff->minorVersion);
|
swapl(&stuff->minorVersion);
|
||||||
return (*ProcDamageVector[stuff->damageReqType]) (client);
|
return ProcDamageQueryVersion(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _X_COLD
|
static int _X_COLD
|
||||||
|
@ -506,7 +507,7 @@ SProcDamageCreate(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xDamageCreateReq);
|
REQUEST_SIZE_MATCH(xDamageCreateReq);
|
||||||
swapl(&stuff->damage);
|
swapl(&stuff->damage);
|
||||||
swapl(&stuff->drawable);
|
swapl(&stuff->drawable);
|
||||||
return (*ProcDamageVector[stuff->damageReqType]) (client);
|
return ProcDamageCreate(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _X_COLD
|
static int _X_COLD
|
||||||
|
@ -515,7 +516,7 @@ SProcDamageDestroy(ClientPtr client)
|
||||||
REQUEST(xDamageDestroyReq);
|
REQUEST(xDamageDestroyReq);
|
||||||
REQUEST_SIZE_MATCH(xDamageDestroyReq);
|
REQUEST_SIZE_MATCH(xDamageDestroyReq);
|
||||||
swapl(&stuff->damage);
|
swapl(&stuff->damage);
|
||||||
return (*ProcDamageVector[stuff->damageReqType]) (client);
|
return ProcDamageDestroy(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _X_COLD
|
static int _X_COLD
|
||||||
|
@ -526,7 +527,7 @@ SProcDamageSubtract(ClientPtr client)
|
||||||
swapl(&stuff->damage);
|
swapl(&stuff->damage);
|
||||||
swapl(&stuff->repair);
|
swapl(&stuff->repair);
|
||||||
swapl(&stuff->parts);
|
swapl(&stuff->parts);
|
||||||
return (*ProcDamageVector[stuff->damageReqType]) (client);
|
return ProcDamageSubtract(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _X_COLD
|
static int _X_COLD
|
||||||
|
@ -536,28 +537,29 @@ SProcDamageAdd(ClientPtr client)
|
||||||
REQUEST_SIZE_MATCH(xDamageSubtractReq);
|
REQUEST_SIZE_MATCH(xDamageSubtractReq);
|
||||||
swapl(&stuff->drawable);
|
swapl(&stuff->drawable);
|
||||||
swapl(&stuff->region);
|
swapl(&stuff->region);
|
||||||
return (*ProcDamageVector[stuff->damageReqType]) (client);
|
return ProcDamageAdd(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int (*SProcDamageVector[XDamageNumberRequests]) (ClientPtr) = {
|
|
||||||
/*************** Version 1 ******************/
|
|
||||||
SProcDamageQueryVersion,
|
|
||||||
SProcDamageCreate,
|
|
||||||
SProcDamageDestroy,
|
|
||||||
SProcDamageSubtract,
|
|
||||||
/*************** Version 1.1 ****************/
|
|
||||||
SProcDamageAdd,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int _X_COLD
|
static int _X_COLD
|
||||||
SProcDamageDispatch(ClientPtr client)
|
SProcDamageDispatch(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xReq);
|
REQUEST(xReq);
|
||||||
|
switch (stuff->data) {
|
||||||
if (stuff->data >= ARRAY_SIZE(ProcDamageVector))
|
/* version 1 */
|
||||||
return BadRequest;
|
case X_DamageQueryVersion:
|
||||||
|
return SProcDamageQueryVersion(client);
|
||||||
return (*SProcDamageVector[stuff->data]) (client);
|
case X_DamageCreate:
|
||||||
|
return SProcDamageCreate(client);
|
||||||
|
case X_DamageDestroy:
|
||||||
|
return SProcDamageDestroy(client);
|
||||||
|
case X_DamageSubtract:
|
||||||
|
return SProcDamageSubtract(client);
|
||||||
|
/* version 1.1 */
|
||||||
|
case X_DamageAdd:
|
||||||
|
return SProcDamageAdd(client);
|
||||||
|
default:
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
Loading…
Reference in New Issue