Commit e755e660 authored by Ulrich Sibiller's avatar Ulrich Sibiller Committed by Mike Gabriel

NXshm.c: rework code to be identical for ProcShmDispatch and SProcShmDispatch

parent 7afe9553
...@@ -492,20 +492,6 @@ nxagent_ProcShmDispatch (client) ...@@ -492,20 +492,6 @@ nxagent_ProcShmDispatch (client)
register ClientPtr client; register ClientPtr client;
{ {
REQUEST(xReq); REQUEST(xReq);
#ifdef NXAGENT_SERVER
#ifdef TEST
fprintf(stderr, "ProcShmDispatch: Going to execute operation [%d] for client [%d].\n",
stuff -> data, client -> index);
if (stuff->data <= X_ShmCreatePixmap)
{
fprintf(stderr, "ProcShmDispatch: Request [%s] OPCODE#%d.\n",
nxagentShmRequestLiteral[stuff->data], stuff->data);
}
#endif
#endif
switch (stuff->data) switch (stuff->data)
{ {
case X_ShmQueryVersion: case X_ShmQueryVersion:
...@@ -516,13 +502,6 @@ nxagent_ProcShmDispatch (client) ...@@ -516,13 +502,6 @@ nxagent_ProcShmDispatch (client)
return ProcShmDetach(client); return ProcShmDetach(client);
case X_ShmPutImage: case X_ShmPutImage:
{ {
#ifdef NXAGENT_SERVER
#ifdef TEST
fprintf(stderr, "ProcShmDispatch: Going to execute ProcShmPutImage() for client [%d].\n",
client -> index);
#endif
#endif
#ifdef PANORAMIX #ifdef PANORAMIX
if ( !noPanoramiXExtension ) if ( !noPanoramiXExtension )
return ProcPanoramiXShmPutImage(client); return ProcPanoramiXShmPutImage(client);
...@@ -546,6 +525,31 @@ nxagent_ProcShmDispatch (client) ...@@ -546,6 +525,31 @@ nxagent_ProcShmDispatch (client)
} }
} }
static int
nxagent_SProcShmDispatch (client)
register ClientPtr client;
{
REQUEST(xReq);
switch (stuff->data)
{
case X_ShmQueryVersion:
return SProcShmQueryVersion(client);
case X_ShmAttach:
return SProcShmAttach(client);
case X_ShmDetach:
return SProcShmDetach(client);
case X_ShmPutImage:
return SProcShmPutImage(client);
case X_ShmGetImage:
return SProcShmGetImage(client);
case X_ShmCreatePixmap:
return SProcShmCreatePixmap(client);
default:
return BadRequest;
}
}
/* A wrapper that handles the trap. This construct is used /* A wrapper that handles the trap. This construct is used
to keep the derived code closer to the original to keep the derived code closer to the original
*/ */
...@@ -554,6 +558,24 @@ ProcShmDispatch (register ClientPtr client) ...@@ -554,6 +558,24 @@ ProcShmDispatch (register ClientPtr client)
{ {
int result; int result;
#ifdef TEST
REQUEST(xReq);
fprintf(stderr, "ProcShmDispatch: Going to execute operation [%d] for client [%d].\n",
stuff -> data, client -> index);
if (stuff->data <= X_ShmCreatePixmap)
{
fprintf(stderr, "ProcShmDispatch: Request [%s] OPCODE#%d.\n",
nxagentShmRequestLiteral[stuff->data], stuff->data);
}
if (stuff->data == X_ShmPutImage)
{
fprintf(stderr, "ProcShmDispatch: Going to execute ProcShmPutImage() for client [%d].\n",
client -> index);
}
#endif
nxagentShmTrap = 1; nxagentShmTrap = 1;
result = nxagent_ProcShmDispatch(client); result = nxagent_ProcShmDispatch(client);
...@@ -564,55 +586,33 @@ ProcShmDispatch (register ClientPtr client) ...@@ -564,55 +586,33 @@ ProcShmDispatch (register ClientPtr client)
} }
static int static int
SProcShmDispatch (client) SProcShmDispatch (register ClientPtr client)
register ClientPtr client;
{ {
REQUEST(xReq); int result;
#ifdef TEST #ifdef TEST
REQUEST(xReq);
fprintf(stderr, "SProcShmDispatch: Going to execute operation [%d] for client [%d].\n", fprintf(stderr, "SProcShmDispatch: Going to execute operation [%d] for client [%d].\n",
stuff -> data, client -> index); stuff -> data, client -> index);
#endif
switch (stuff->data) if (stuff->data <= X_ShmCreatePixmap)
{ {
case X_ShmQueryVersion: fprintf(stderr, "ProcShmDispatch: Request [%s] OPCODE#%d.\n",
return SProcShmQueryVersion(client); nxagentShmRequestLiteral[stuff->data], stuff->data);
case X_ShmAttach: }
return SProcShmAttach(client);
case X_ShmDetach:
return SProcShmDetach(client);
case X_ShmPutImage:
{
int result;
#ifdef TEST
fprintf(stderr, "SProcShmDispatch: Going to execute SProcShmPutImage() for client [%d].\n",
client -> index);
#endif
#ifdef NXAGENT_SERVER if (stuff->data == X_ProxShmPutImage)
nxagentShmTrap = 1; {
#endif fprintf(stderr, "SProcShmDispatch: Going to execute SProcShmPutImage() for client [%d].\n",
client -> index);
}
#endif
result = SProcShmPutImage(client); nxagentShmTrap = 1;
#ifdef NXAGENT_SERVER result = nxagent_SProcShmDispatch(client);
nxagentShmTrap = 0;
#endif
#ifdef TEST nxagentShmTrap = 0;
fprintf(stderr, "SProcShmDispatch: Returning from SProcShmPutImage() for client [%d].\n",
client -> index);
#endif
return result; return result;
}
case X_ShmGetImage:
return SProcShmGetImage(client);
case X_ShmCreatePixmap:
return SProcShmCreatePixmap(client);
default:
return BadRequest;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment