Xevie: swap replies as necessary
This commit is contained in:
parent
d3ae193f4a
commit
b5cdcfa55c
27
Xext/xevie.c
27
Xext/xevie.c
|
@ -151,6 +151,7 @@ static
|
||||||
int ProcXevieQueryVersion (ClientPtr client)
|
int ProcXevieQueryVersion (ClientPtr client)
|
||||||
{
|
{
|
||||||
xXevieQueryVersionReply rep;
|
xXevieQueryVersionReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieQueryVersionReq);
|
REQUEST_SIZE_MATCH (xXevieQueryVersionReq);
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
|
@ -158,6 +159,12 @@ int ProcXevieQueryVersion (ClientPtr client)
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
rep.server_major_version = XEVIE_MAJOR_VERSION;
|
rep.server_major_version = XEVIE_MAJOR_VERSION;
|
||||||
rep.server_minor_version = XEVIE_MINOR_VERSION;
|
rep.server_minor_version = XEVIE_MINOR_VERSION;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
swaps(&rep.server_major_version, n);
|
||||||
|
swaps(&rep.server_minor_version, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieQueryVersionReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieQueryVersionReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
@ -166,6 +173,7 @@ static
|
||||||
int ProcXevieStart (ClientPtr client)
|
int ProcXevieStart (ClientPtr client)
|
||||||
{
|
{
|
||||||
xXevieStartReply rep;
|
xXevieStartReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieStartReq);
|
REQUEST_SIZE_MATCH (xXevieStartReq);
|
||||||
rep.pad1 = 0;
|
rep.pad1 = 0;
|
||||||
|
@ -200,6 +208,10 @@ int ProcXevieStart (ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieStartReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieStartReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
@ -208,6 +220,7 @@ static
|
||||||
int ProcXevieEnd (ClientPtr client)
|
int ProcXevieEnd (ClientPtr client)
|
||||||
{
|
{
|
||||||
xXevieEndReply rep;
|
xXevieEndReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieEndReq);
|
REQUEST_SIZE_MATCH (xXevieEndReq);
|
||||||
|
|
||||||
|
@ -222,6 +235,10 @@ int ProcXevieEnd (ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieEndReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieEndReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
@ -233,6 +250,7 @@ int ProcXevieSend (ClientPtr client)
|
||||||
xXevieSendReply rep;
|
xXevieSendReply rep;
|
||||||
xEvent *xE;
|
xEvent *xE;
|
||||||
static unsigned char lastDetail = 0, lastType = 0;
|
static unsigned char lastDetail = 0, lastType = 0;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieSendReq);
|
REQUEST_SIZE_MATCH (xXevieSendReq);
|
||||||
|
|
||||||
|
@ -243,6 +261,10 @@ int ProcXevieSend (ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieSendReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieSendReply), (char *)&rep);
|
||||||
|
|
||||||
switch(xE->u.u.type) {
|
switch(xE->u.u.type) {
|
||||||
|
@ -280,6 +302,7 @@ int ProcXevieSelectInput (ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST (xXevieSelectInputReq);
|
REQUEST (xXevieSelectInputReq);
|
||||||
xXevieSelectInputReply rep;
|
xXevieSelectInputReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieSelectInputReq);
|
REQUEST_SIZE_MATCH (xXevieSelectInputReq);
|
||||||
|
|
||||||
|
@ -290,6 +313,10 @@ int ProcXevieSelectInput (ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieSelectInputReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieSelectInputReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user