From e46268855432975da2a25af4e052a6695a500b7b Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Fri, 12 Jul 2024 16:42:42 +0200 Subject: [PATCH] Xext: xvmc: simplify dispatcher The 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 --- Xext/xvmc.c | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/Xext/xvmc.c b/Xext/xvmc.c index b612daacc..9ab7da8a2 100644 --- a/Xext/xvmc.c +++ b/Xext/xvmc.c @@ -667,26 +667,35 @@ ProcXvMCGetDRInfo(ClientPtr client) return Success; } -int (*ProcXvMCVector[xvmcNumRequest]) (ClientPtr) = { -ProcXvMCQueryVersion, - ProcXvMCListSurfaceTypes, - ProcXvMCCreateContext, - ProcXvMCDestroyContext, - ProcXvMCCreateSurface, - ProcXvMCDestroySurface, - ProcXvMCCreateSubpicture, - ProcXvMCDestroySubpicture, - ProcXvMCListSubpictureTypes, ProcXvMCGetDRInfo}; - static int ProcXvMCDispatch(ClientPtr client) { REQUEST(xReq); - - if (stuff->data < xvmcNumRequest) - return (*ProcXvMCVector[stuff->data]) (client); - else - return BadRequest; + switch (stuff->data) + { + case xvmc_QueryVersion: + return ProcXvMCQueryVersion(client); + case xvmc_ListSurfaceTypes: + return ProcXvMCListSurfaceTypes(client); + case xvmc_CreateContext: + return ProcXvMCCreateContext(client); + case xvmc_DestroyContext: + return ProcXvMCDestroyContext(client); + case xvmc_CreateSurface: + return ProcXvMCCreateSurface(client); + case xvmc_DestroySurface: + return ProcXvMCDestroySurface(client); + case xvmc_CreateSubpicture: + return ProcXvMCCreateSubpicture(client); + case xvmc_DestroySubpicture: + return ProcXvMCDestroySubpicture(client); + case xvmc_ListSubpictureTypes: + return ProcXvMCListSubpictureTypes(client); + case xvmc_GetDRInfo: + return ProcXvMCGetDRInfo(client); + default: + return BadRequest; + } } static int _X_COLD