Use C99 designated initializers in dix Replies

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
Alan Coopersmith 2012-07-09 19:12:43 -07:00
parent 69fa5630b5
commit d792ac125a
7 changed files with 265 additions and 220 deletions

View File

@ -1666,9 +1666,11 @@ ProcSetModifierMapping(ClientPtr client)
bytes_to_int32(sizeof(xSetModifierMappingReq))))
return BadLength;
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
rep = (xSetModifierMappingReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0
};
rc = change_modmap(client, PickKeyboard(client), (KeyCode *) &stuff[1],
stuff->numKeyPerModifier);
@ -1696,12 +1698,13 @@ ProcGetModifierMapping(ClientPtr client)
generate_modkeymap(client, PickKeyboard(client), &modkeymap,
&max_keys_per_mod);
memset(&rep, 0, sizeof(xGetModifierMappingReply));
rep.type = X_Reply;
rep.numKeyPerModifier = max_keys_per_mod;
rep.sequenceNumber = client->sequence;
rep = (xGetModifierMappingReply) {
.type = X_Reply,
.numKeyPerModifier = max_keys_per_mod,
.sequenceNumber = client->sequence,
/* length counts 4 byte quantities - there are 8 modifiers 1 byte big */
rep.length = max_keys_per_mod << 1;
.length = max_keys_per_mod << 1
};
WriteReplyToClient(client, sizeof(xGetModifierMappingReply), &rep);
WriteToClient(client, max_keys_per_mod * 8, modkeymap);
@ -1785,10 +1788,13 @@ ProcSetPointerMapping(ClientPtr client)
if (client->req_len !=
bytes_to_int32(sizeof(xSetPointerMappingReq) + stuff->nElts))
return BadLength;
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
rep.success = MappingSuccess;
rep = (xSetPointerMappingReply) {
.type = X_Reply,
.success = MappingSuccess,
.sequenceNumber = client->sequence,
.length = 0
};
map = (BYTE *) &stuff[1];
/* So we're bounded here by the number of core buttons. This check
@ -1857,12 +1863,13 @@ ProcGetKeyboardMapping(ClientPtr client)
if (!syms)
return BadAlloc;
memset(&rep, 0, sizeof(xGetKeyboardMappingReply));
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
rep.keySymsPerKeyCode = syms->mapWidth;
/* length is a count of 4 byte quantities and KeySyms are 4 bytes */
rep.length = syms->mapWidth * stuff->count;
rep = (xGetKeyboardMappingReply) {
.type = X_Reply,
.keySymsPerKeyCode = syms->mapWidth,
.sequenceNumber = client->sequence,
/* length is a count of 4 byte quantities and KeySyms are 4 bytes */
.length = syms->mapWidth * stuff->count
};
WriteReplyToClient(client, sizeof(xGetKeyboardMappingReply), &rep);
client->pSwapReplyFunc = (ReplySwapPtr) CopySwap32Write;
WriteSwappedDataToClient(client,
@ -1892,10 +1899,12 @@ ProcGetPointerMapping(ClientPtr client)
if (rc != Success)
return rc;
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
rep.nElts = (butc) ? butc->numButtons : 0;
rep.length = ((unsigned) rep.nElts + (4 - 1)) / 4;
rep = (xGetPointerMappingReply) {
.type = X_Reply,
.nElts = (butc) ? butc->numButtons : 0,
.sequenceNumber = client->sequence,
.length = ((unsigned) rep.nElts + (4 - 1)) / 4
};
WriteReplyToClient(client, sizeof(xGetPointerMappingReply), &rep);
if (butc)
WriteToClient(client, (int) rep.nElts, &butc->map[1]);
@ -2144,15 +2153,17 @@ ProcGetKeyboardControl(ClientPtr client)
if (rc != Success)
return rc;
rep.type = X_Reply;
rep.length = 5;
rep.sequenceNumber = client->sequence;
rep.globalAutoRepeat = ctrl->autoRepeat;
rep.keyClickPercent = ctrl->click;
rep.bellPercent = ctrl->bell;
rep.bellPitch = ctrl->bell_pitch;
rep.bellDuration = ctrl->bell_duration;
rep.ledMask = ctrl->leds;
rep = (xGetKeyboardControlReply) {
.type = X_Reply,
.globalAutoRepeat = ctrl->autoRepeat,
.sequenceNumber = client->sequence,
.length = 5,
.ledMask = ctrl->leds,
.keyClickPercent = ctrl->click,
.bellPercent = ctrl->bell,
.bellPitch = ctrl->bell_pitch,
.bellDuration = ctrl->bell_duration
};
for (i = 0; i < 32; i++)
rep.map[i] = ctrl->autoRepeats[i];
WriteReplyToClient(client, sizeof(xGetKeyboardControlReply), &rep);
@ -2287,12 +2298,14 @@ ProcGetPointerControl(ClientPtr client)
if (rc != Success)
return rc;
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
rep.threshold = ctrl->threshold;
rep.accelNumerator = ctrl->num;
rep.accelDenominator = ctrl->den;
rep = (xGetPointerControlReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.accelNumerator = ctrl->num,
.accelDenominator = ctrl->den,
.threshold = ctrl->threshold
};
WriteReplyToClient(client, sizeof(xGenericReply), &rep);
return Success;
}
@ -2336,8 +2349,10 @@ ProcGetMotionEvents(ClientPtr client)
if (mouse->valuator->motionHintWindow)
MaybeStopHint(mouse, client);
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
rep = (xGetMotionEventsReply) {
.type = X_Reply,
.sequenceNumber = client->sequence
};
nEvents = 0;
start = ClientTimeToServerTime(stuff->start);
stop = ClientTimeToServerTime(stuff->stop);
@ -2385,10 +2400,11 @@ ProcQueryKeymap(ClientPtr client)
CARD8 *down = keybd->key->down;
REQUEST_SIZE_MATCH(xReq);
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
rep.length = 2;
memset(rep.map, 0, 32);
rep = (xQueryKeymapReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 2
};
rc = XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess);
/* If rc is Success, we're allowed to copy out the keymap.

View File

@ -926,10 +926,9 @@ GetGeometry(ClientPtr client, xGetGeometryReply * rep)
int
ProcGetGeometry(ClientPtr client)
{
xGetGeometryReply rep;
xGetGeometryReply rep = { .type = X_Reply };
int status;
memset(&rep, 0, sizeof(xGetGeometryReply));
if ((status = GetGeometry(client, &rep)) != Success)
return status;
@ -951,14 +950,13 @@ ProcQueryTree(ClientPtr client)
rc = dixLookupWindow(&pWin, stuff->id, client, DixListAccess);
if (rc != Success)
return rc;
memset(&reply, 0, sizeof(xQueryTreeReply));
reply.type = X_Reply;
reply.root = pWin->drawable.pScreen->root->drawable.id;
reply.sequenceNumber = client->sequence;
if (pWin->parent)
reply.parent = pWin->parent->drawable.id;
else
reply.parent = (Window) None;
reply = (xQueryTreeReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.root = pWin->drawable.pScreen->root->drawable.id,
.parent = (pWin->parent) ? pWin->parent->drawable.id : (Window) None
};
pHead = RealChildHead(pWin);
for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib)
numChildren++;
@ -1003,13 +1001,12 @@ ProcInternAtom(ClientPtr client)
tchar = (char *) &stuff[1];
atom = MakeAtom(tchar, stuff->nbytes, !stuff->onlyIfExists);
if (atom != BAD_RESOURCE) {
xInternAtomReply reply;
memset(&reply, 0, sizeof(xInternAtomReply));
reply.type = X_Reply;
reply.length = 0;
reply.sequenceNumber = client->sequence;
reply.atom = atom;
xInternAtomReply reply = {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.atom = atom
};
WriteReplyToClient(client, sizeof(xInternAtomReply), &reply);
return Success;
}
@ -1021,19 +1018,19 @@ int
ProcGetAtomName(ClientPtr client)
{
const char *str;
xGetAtomNameReply reply;
int len;
REQUEST(xResourceReq);
REQUEST_SIZE_MATCH(xResourceReq);
if ((str = NameForAtom(stuff->id))) {
len = strlen(str);
memset(&reply, 0, sizeof(xGetAtomNameReply));
reply.type = X_Reply;
reply.length = bytes_to_int32(len);
reply.sequenceNumber = client->sequence;
reply.nameLength = len;
int len = strlen(str);
xGetAtomNameReply reply = {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(len),
.nameLength = len
};
WriteReplyToClient(client, sizeof(xGetAtomNameReply), &reply);
WriteToClient(client, len, str);
return Success;
@ -1123,10 +1120,12 @@ ProcTranslateCoords(ClientPtr client)
rc = dixLookupWindow(&pDst, stuff->dstWid, client, DixGetAttrAccess);
if (rc != Success)
return rc;
memset(&rep, 0, sizeof(xTranslateCoordsReply));
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
rep = (xTranslateCoordsReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0
};
if (!SAME_SCREENS(pWin->drawable, pDst->drawable)) {
rep.sameScreen = xFalse;
rep.child = None;
@ -1288,17 +1287,19 @@ ProcQueryTextExtents(ClientPtr client)
}
if (!QueryTextExtents(pFont, length, (unsigned char *) &stuff[1], &info))
return BadAlloc;
reply.type = X_Reply;
reply.length = 0;
reply.sequenceNumber = client->sequence;
reply.drawDirection = info.drawDirection;
reply.fontAscent = info.fontAscent;
reply.fontDescent = info.fontDescent;
reply.overallAscent = info.overallAscent;
reply.overallDescent = info.overallDescent;
reply.overallWidth = info.overallWidth;
reply.overallLeft = info.overallLeft;
reply.overallRight = info.overallRight;
reply = (xQueryTextExtentsReply) {
.type = X_Reply,
.drawDirection = info.drawDirection,
.sequenceNumber = client->sequence,
.length = 0,
.fontAscent = info.fontAscent,
.fontDescent = info.fontDescent,
.overallAscent = info.overallAscent,
.overallDescent = info.overallDescent,
.overallWidth = info.overallWidth,
.overallLeft = info.overallLeft,
.overallRight = info.overallRight
};
WriteReplyToClient(client, sizeof(xQueryTextExtentsReply), &reply);
return Success;
}
@ -2466,7 +2467,6 @@ ProcAllocColor(ClientPtr client)
{
ColormapPtr pmap;
int rc;
xAllocColorReply acr;
REQUEST(xAllocColorReq);
@ -2474,13 +2474,15 @@ ProcAllocColor(ClientPtr client)
rc = dixLookupResourceByType((pointer *) &pmap, stuff->cmap, RT_COLORMAP,
client, DixAddAccess);
if (rc == Success) {
acr.type = X_Reply;
acr.length = 0;
acr.sequenceNumber = client->sequence;
acr.red = stuff->red;
acr.green = stuff->green;
acr.blue = stuff->blue;
acr.pixel = 0;
xAllocColorReply acr = {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.red = stuff->red,
.green = stuff->green,
.blue = stuff->blue,
.pixel = 0
};
if ((rc = AllocColor(pmap, &acr.red, &acr.green, &acr.blue,
&acr.pixel, client->index)))
return rc;
@ -2509,12 +2511,11 @@ ProcAllocNamedColor(ClientPtr client)
rc = dixLookupResourceByType((pointer *) &pcmp, stuff->cmap, RT_COLORMAP,
client, DixAddAccess);
if (rc == Success) {
xAllocNamedColorReply ancr;
ancr.type = X_Reply;
ancr.length = 0;
ancr.sequenceNumber = client->sequence;
xAllocNamedColorReply ancr = {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0
};
if (OsLookupColor
(pcmp->pScreen->myNum, (char *) &stuff[1], stuff->nbytes,
&ancr.exactRed, &ancr.exactGreen, &ancr.exactBlue)) {
@ -2555,7 +2556,6 @@ ProcAllocColorCells(ClientPtr client)
rc = dixLookupResourceByType((pointer *) &pcmp, stuff->cmap, RT_COLORMAP,
client, DixAddAccess);
if (rc == Success) {
xAllocColorCellsReply accr;
int npixels, nmasks;
long length;
Pixel *ppixels, *pmasks;
@ -2585,11 +2585,13 @@ ProcAllocColorCells(ClientPtr client)
if (noPanoramiXExtension || !pcmp->pScreen->myNum)
#endif
{
accr.type = X_Reply;
accr.length = bytes_to_int32(length);
accr.sequenceNumber = client->sequence;
accr.nPixels = npixels;
accr.nMasks = nmasks;
xAllocColorCellsReply accr = {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(length),
.nPixels = npixels,
.nMasks = nmasks
};
WriteReplyToClient(client, sizeof(xAllocColorCellsReply), &accr);
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
WriteSwappedDataToClient(client, length, ppixels);
@ -2629,9 +2631,11 @@ ProcAllocColorPlanes(ClientPtr client)
client->errorValue = stuff->contiguous;
return BadValue;
}
acpr.type = X_Reply;
acpr.sequenceNumber = client->sequence;
acpr.nPixels = npixels;
acpr = (xAllocColorPlanesReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.nPixels = npixels
};
length = (long) npixels *sizeof(Pixel);
ppixels = malloc(length);
@ -2769,11 +2773,12 @@ ProcQueryColors(ClientPtr client)
free(prgbs);
return rc;
}
memset(&qcr, 0, sizeof(xQueryColorsReply));
qcr.type = X_Reply;
qcr.length = bytes_to_int32(count * sizeof(xrgb));
qcr.sequenceNumber = client->sequence;
qcr.nColors = count;
qcr = (xQueryColorsReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(count * sizeof(xrgb)),
.nColors = count
};
WriteReplyToClient(client, sizeof(xQueryColorsReply), &qcr);
if (count) {
client->pSwapReplyFunc = (ReplySwapPtr) SQColorsExtend;
@ -2806,16 +2811,17 @@ ProcLookupColor(ClientPtr client)
if (OsLookupColor
(pcmp->pScreen->myNum, (char *) &stuff[1], stuff->nbytes,
&exactRed, &exactGreen, &exactBlue)) {
xLookupColorReply lcr;
lcr.type = X_Reply;
lcr.length = 0;
lcr.sequenceNumber = client->sequence;
lcr.exactRed = exactRed;
lcr.exactGreen = exactGreen;
lcr.exactBlue = exactBlue;
lcr.screenRed = exactRed;
lcr.screenGreen = exactGreen;
lcr.screenBlue = exactBlue;
xLookupColorReply lcr = {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.exactRed = exactRed,
.exactGreen = exactGreen,
.exactBlue = exactBlue,
.screenRed = exactRed,
.screenGreen = exactGreen,
.screenBlue = exactBlue
};
(*pcmp->pScreen->ResolveColor) (&lcr.screenRed,
&lcr.screenGreen,
&lcr.screenBlue, pcmp->pVisual);
@ -2995,12 +3001,13 @@ ProcQueryBestSize(ClientPtr client)
return rc;
(*pScreen->QueryBestSize) (stuff->class, &stuff->width,
&stuff->height, pScreen);
memset(&reply, 0, sizeof(xQueryBestSizeReply));
reply.type = X_Reply;
reply.length = 0;
reply.sequenceNumber = client->sequence;
reply.width = stuff->width;
reply.height = stuff->height;
reply = (xQueryBestSizeReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.width = stuff->width,
.height = stuff->height
};
WriteReplyToClient(client, sizeof(xQueryBestSizeReply), &reply);
return Success;
}
@ -3080,13 +3087,15 @@ ProcGetScreenSaver(ClientPtr client)
return rc;
}
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
rep.timeout = ScreenSaverTime / MILLI_PER_SECOND;
rep.interval = ScreenSaverInterval / MILLI_PER_SECOND;
rep.preferBlanking = ScreenSaverBlanking;
rep.allowExposures = ScreenSaverAllowExposures;
rep = (xGetScreenSaverReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.timeout = ScreenSaverTime / MILLI_PER_SECOND,
.interval = ScreenSaverInterval / MILLI_PER_SECOND,
.preferBlanking = ScreenSaverBlanking,
.allowExposures = ScreenSaverAllowExposures
};
WriteReplyToClient(client, sizeof(xGetScreenSaverReply), &rep);
return Success;
}
@ -3128,11 +3137,14 @@ ProcListHosts(ClientPtr client)
result = GetHosts(&pdata, &nHosts, &len, &enabled);
if (result != Success)
return result;
reply.type = X_Reply;
reply.enabled = enabled;
reply.sequenceNumber = client->sequence;
reply.nHosts = nHosts;
reply.length = bytes_to_int32(len);
reply = (xListHostsReply) {
.type = X_Reply,
.enabled = enabled,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(len),
.nHosts = nHosts
};
WriteReplyToClient(client, sizeof(xListHostsReply), &reply);
if (nHosts) {
client->pSwapReplyFunc = (ReplySwapPtr) SLHostsExtend;
@ -3247,10 +3259,12 @@ ProcGetFontPath(ClientPtr client)
if (rc != Success)
return rc;
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.length = bytes_to_int32(stringLens + numpaths);
reply.nPaths = numpaths;
reply = (xGetFontPathReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(stringLens + numpaths),
.nPaths = numpaths
};
WriteReplyToClient(client, sizeof(xGetFontPathReply), &reply);
if (stringLens || numpaths)

View File

@ -753,11 +753,12 @@ doListFontsAndAliases(ClientPtr client, LFclosurePtr c)
for (i = 0; i < nnames; i++)
stringLens += (names->length[i] <= 255) ? names->length[i] : 0;
memset(&reply, 0, sizeof(xListFontsReply));
reply.type = X_Reply;
reply.length = bytes_to_int32(stringLens + nnames);
reply.nFonts = nnames;
reply.sequenceNumber = client->sequence;
reply = (xListFontsReply) {
.type = X_Reply,
.length = bytes_to_int32(stringLens + nnames),
.nFonts = nnames,
.sequenceNumber = client->sequence
};
bufptr = bufferStart = malloc(reply.length << 2);
@ -1030,11 +1031,12 @@ doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
}
finish:
length = sizeof(xListFontsWithInfoReply);
memset((char *) &finalReply, 0, sizeof(xListFontsWithInfoReply));
finalReply.type = X_Reply;
finalReply.sequenceNumber = client->sequence;
finalReply.length = bytes_to_int32(sizeof(xListFontsWithInfoReply)
- sizeof(xGenericReply));
finalReply = (xListFontsWithInfoReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(sizeof(xListFontsWithInfoReply)
- sizeof(xGenericReply))
};
WriteSwappedDataToClient(client, length, &finalReply);
bail:
ClientWakeup(client);

View File

@ -4767,17 +4767,20 @@ ProcGetInputFocus(ClientPtr client)
if (rc != Success)
return rc;
memset(&rep, 0, sizeof(xGetInputFocusReply));
rep.type = X_Reply;
rep.length = 0;
rep.sequenceNumber = client->sequence;
rep = (xGetInputFocusReply) {
.type = X_Reply,
.length = 0,
.sequenceNumber = client->sequence,
.revertTo = focus->revert
};
if (focus->win == NoneWin)
rep.focus = None;
else if (focus->win == PointerRootWin)
rep.focus = PointerRoot;
else
rep.focus = focus->win->drawable.id;
rep.revertTo = focus->revert;
WriteReplyToClient(client, sizeof(xGetInputFocusReply), &rep);
return Success;
}
@ -4840,11 +4843,12 @@ ProcGrabPointer(ClientPtr client)
if (oldCursor && status == GrabSuccess)
FreeCursor(oldCursor, (Cursor) 0);
memset(&rep, 0, sizeof(xGrabPointerReply));
rep.type = X_Reply;
rep.status = status;
rep.sequenceNumber = client->sequence;
rep.length = 0;
rep = (xGrabPointerReply) {
.type = X_Reply,
.status = status,
.sequenceNumber = client->sequence,
.length = 0
};
WriteReplyToClient(client, sizeof(xGrabPointerReply), &rep);
return Success;
}
@ -5080,11 +5084,12 @@ ProcGrabKeyboard(ClientPtr client)
if (result != Success)
return result;
memset(&rep, 0, sizeof(xGrabKeyboardReply));
rep.type = X_Reply;
rep.status = status;
rep.sequenceNumber = client->sequence;
rep.length = 0;
rep = (xGrabKeyboardReply) {
.type = X_Reply,
.status = status,
.sequenceNumber = client->sequence,
.length = 0
};
WriteReplyToClient(client, sizeof(xGrabKeyboardReply), &rep);
return Success;
}
@ -5147,15 +5152,16 @@ ProcQueryPointer(ClientPtr client)
pSprite = mouse->spriteInfo->sprite;
if (mouse->valuator->motionHintWindow)
MaybeStopHint(mouse, client);
memset(&rep, 0, sizeof(xQueryPointerReply));
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
rep.mask = event_get_corestate(mouse, keyboard);
rep.length = 0;
rep.root = (GetCurrentRootWindow(mouse))->drawable.id;
rep.rootX = pSprite->hot.x;
rep.rootY = pSprite->hot.y;
rep.child = None;
rep = (xQueryPointerReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.mask = event_get_corestate(mouse, keyboard),
.root = (GetCurrentRootWindow(mouse))->drawable.id,
.rootX = pSprite->hot.x,
.rootY = pSprite->hot.y,
.child = None
};
if (pSprite->hot.pScreen == pWin->drawable.pScreen) {
rep.sameScreen = xTrue;
rep.winX = pSprite->hot.x - pWin->drawable.x;

View File

@ -252,11 +252,12 @@ ProcQueryExtension(ClientPtr client)
REQUEST_FIXED_SIZE(xQueryExtensionReq, stuff->nbytes);
memset(&reply, 0, sizeof(xQueryExtensionReply));
reply.type = X_Reply;
reply.length = 0;
reply.major_opcode = 0;
reply.sequenceNumber = client->sequence;
reply = (xQueryExtensionReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
.major_opcode = 0
};
if (!NumExtensions)
reply.present = xFalse;
@ -284,11 +285,12 @@ ProcListExtensions(ClientPtr client)
REQUEST_SIZE_MATCH(xReq);
memset(&reply, 0, sizeof(xListExtensionsReply));
reply.type = X_Reply;
reply.nExtensions = 0;
reply.length = 0;
reply.sequenceNumber = client->sequence;
reply = (xListExtensionsReply) {
.type = X_Reply,
.nExtensions = 0,
.sequenceNumber = client->sequence,
.length = 0
};
buffer = NULL;
if (NumExtensions) {

View File

@ -415,15 +415,15 @@ DeleteAllWindowProperties(WindowPtr pWin)
static int
NullPropertyReply(ClientPtr client, ATOM propertyType, int format)
{
xGetPropertyReply reply;
memset(&reply, 0, sizeof(xGetPropertyReply));
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.nItems = 0;
reply.length = 0;
reply.bytesAfter = 0;
reply.propertyType = propertyType;
reply.format = format;
xGetPropertyReply reply = {
.type = X_Reply,
.format = format,
.sequenceNumber = client->sequence,
.length = 0,
.propertyType = propertyType,
.bytesAfter = 0,
.nItems = 0
};
WriteReplyToClient(client, sizeof(xGenericReply), &reply);
return Success;
}
@ -484,14 +484,15 @@ ProcGetProperty(ClientPtr client)
if (((stuff->type != pProp->type) && (stuff->type != AnyPropertyType))
) {
memset(&reply, 0, sizeof(xGetPropertyReply));
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.bytesAfter = pProp->size;
reply.format = pProp->format;
reply.length = 0;
reply.nItems = 0;
reply.propertyType = pProp->type;
reply = (xGetPropertyReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.bytesAfter = pProp->size,
.format = pProp->format,
.length = 0,
.nItems = 0,
.propertyType = pProp->type
};
WriteReplyToClient(client, sizeof(xGenericReply), &reply);
return Success;
}
@ -512,14 +513,15 @@ ProcGetProperty(ClientPtr client)
len = min(n - ind, 4 * stuff->longLength);
memset(&reply, 0, sizeof(xGetPropertyReply));
reply.type = X_Reply;
reply.sequenceNumber = client->sequence;
reply.bytesAfter = n - (ind + len);
reply.format = pProp->format;
reply.length = bytes_to_int32(len);
reply.nItems = len / (pProp->format / 8);
reply.propertyType = pProp->type;
reply = (xGetPropertyReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.bytesAfter = n - (ind + len),
.format = pProp->format,
.length = bytes_to_int32(len),
.nItems = len / (pProp->format / 8),
.propertyType = pProp->type
};
if (stuff->delete && (reply.bytesAfter == 0))
deliverPropertyNotifyEvent(pWin, PropertyDelete, pProp->propertyName);
@ -594,10 +596,12 @@ ProcListProperties(ClientPtr client)
}
}
xlpr.type = X_Reply;
xlpr.nProperties = numProps;
xlpr.length = bytes_to_int32(numProps * sizeof(Atom));
xlpr.sequenceNumber = client->sequence;
xlpr = (xListPropertiesReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = bytes_to_int32(numProps * sizeof(Atom)),
.nProperties = numProps
};
WriteReplyToClient(client, sizeof(xGenericReply), &xlpr);
if (numProps) {
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;

View File

@ -238,10 +238,11 @@ ProcGetSelectionOwner(ClientPtr client)
return BadAtom;
}
memset(&reply, 0, sizeof(xGetSelectionOwnerReply));
reply.type = X_Reply;
reply.length = 0;
reply.sequenceNumber = client->sequence;
reply = (xGetSelectionOwnerReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
.length = 0,
};
rc = dixLookupSelection(&pSel, stuff->id, client, DixGetAttrAccess);
if (rc == Success)