diff options
Diffstat (limited to 'Xext/xres.c')
-rw-r--r-- | Xext/xres.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/Xext/xres.c b/Xext/xres.c index d96b3e150..28e926642 100644 --- a/Xext/xres.c +++ b/Xext/xres.c @@ -1,7 +1,7 @@ /* Copyright (c) 2002 XFree86 Inc */ -/* $XFree86: xc/programs/Xserver/Xext/xres.c,v 1.7tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xres.c,v 1.9 2004/03/04 19:31:37 dawes Exp $ */ #define NEED_EVENTS #define NEED_REPLIES @@ -52,22 +52,23 @@ ProcXResQueryClients (ClientPtr client) /* REQUEST(xXResQueryClientsReq); */ xXResQueryClientsReply rep; int *current_clients; - int i; + int i, num_clients; REQUEST_SIZE_MATCH(xXResQueryClientsReq); current_clients = ALLOCATE_LOCAL((currentMaxClients - 1) * sizeof(int)); - rep.num_clients = 0; + num_clients = 0; for(i = 1; i < currentMaxClients; i++) { if(clients[i]) { - current_clients[rep.num_clients] = i; - rep.num_clients++; + current_clients[num_clients] = i; + num_clients++; } } rep.type = X_Reply; rep.sequenceNumber = client->sequence; + rep.num_clients = num_clients; rep.length = rep.num_clients * sz_xXResClient >> 2; if (client->swapped) { int n; @@ -77,10 +78,10 @@ ProcXResQueryClients (ClientPtr client) } WriteToClient (client, sizeof (xXResQueryClientsReply), (char *) &rep); - if(rep.num_clients) { + if(num_clients) { xXResClient scratch; - for(i = 0; i < rep.num_clients; i++) { + for(i = 0; i < num_clients; i++) { scratch.resource_base = clients[current_clients[i]]->clientAsMask; scratch.resource_mask = RESOURCE_ID_MASK; @@ -112,7 +113,7 @@ ProcXResQueryClientResources (ClientPtr client) { REQUEST(xXResQueryClientResourcesReq); xXResQueryClientResourcesReply rep; - int i, clientID; + int i, clientID, num_types; int *counts; REQUEST_SIZE_MATCH(xXResQueryClientResourcesReq); @@ -132,14 +133,15 @@ ProcXResQueryClientResources (ClientPtr client) FindAllClientResources(clients[clientID], ResFindAllRes, counts); - rep.num_types = 0; + num_types = 0; for(i = 0; i <= lastResourceType; i++) { - if(counts[i]) rep.num_types++; + if(counts[i]) num_types++; } rep.type = X_Reply; rep.sequenceNumber = client->sequence; + rep.num_types = num_types; rep.length = rep.num_types * sz_xXResType >> 2; if (client->swapped) { int n; @@ -149,7 +151,7 @@ ProcXResQueryClientResources (ClientPtr client) } WriteToClient (client,sizeof(xXResQueryClientResourcesReply),(char*)&rep); - if(rep.num_types) { + if(num_types) { xXResType scratch; for(i = 0; i < lastResourceType; i++) { |