Xext: shm: use REPLY_*() macros for preparing / sending replies
Use the new macros for preparing and sending replies to clients. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
bac5e1fa2d
commit
07ce669504
85
Xext/shm.c
85
Xext/shm.c
|
@ -255,10 +255,7 @@ ProcShmQueryVersion(ClientPtr client)
|
||||||
REQUEST_HEAD_STRUCT(xShmQueryVersionReq);
|
REQUEST_HEAD_STRUCT(xShmQueryVersionReq);
|
||||||
|
|
||||||
xShmQueryVersionReply rep = {
|
xShmQueryVersionReply rep = {
|
||||||
.type = X_Reply,
|
|
||||||
.sharedPixmaps = sharedPixmaps,
|
.sharedPixmaps = sharedPixmaps,
|
||||||
.sequenceNumber = client->sequence,
|
|
||||||
.length = 0,
|
|
||||||
.majorVersion = SERVER_SHM_MAJOR_VERSION,
|
.majorVersion = SERVER_SHM_MAJOR_VERSION,
|
||||||
.minorVersion = SERVER_SHM_MINOR_VERSION,
|
.minorVersion = SERVER_SHM_MINOR_VERSION,
|
||||||
.uid = geteuid(),
|
.uid = geteuid(),
|
||||||
|
@ -266,16 +263,11 @@ ProcShmQueryVersion(ClientPtr client)
|
||||||
.pixmapFormat = sharedPixmaps ? ZPixmap : 0
|
.pixmapFormat = sharedPixmaps ? ZPixmap : 0
|
||||||
};
|
};
|
||||||
|
|
||||||
if (client->swapped) {
|
REPLY_FIELD_CARD16(majorVersion);
|
||||||
swaps(&rep.sequenceNumber);
|
REPLY_FIELD_CARD16(minorVersion);
|
||||||
swapl(&rep.length);
|
REPLY_FIELD_CARD16(uid);
|
||||||
swaps(&rep.majorVersion);
|
REPLY_FIELD_CARD16(gid);
|
||||||
swaps(&rep.minorVersion);
|
REPLY_SEND_RET_SUCCESS();
|
||||||
swaps(&rep.uid);
|
|
||||||
swaps(&rep.gid);
|
|
||||||
}
|
|
||||||
WriteToClient(client, sizeof(xShmQueryVersionReply), &rep);
|
|
||||||
return Success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -601,7 +593,6 @@ ShmGetImage(ClientPtr client, xShmGetImageReq *stuff)
|
||||||
DrawablePtr pDraw;
|
DrawablePtr pDraw;
|
||||||
long lenPer = 0, length;
|
long lenPer = 0, length;
|
||||||
Mask plane = 0;
|
Mask plane = 0;
|
||||||
xShmGetImageReply xgi;
|
|
||||||
ShmDescPtr shmdesc;
|
ShmDescPtr shmdesc;
|
||||||
VisualID visual = None;
|
VisualID visual = None;
|
||||||
RegionPtr pVisibleRegion = NULL;
|
RegionPtr pVisibleRegion = NULL;
|
||||||
|
@ -646,13 +637,6 @@ ShmGetImage(ClientPtr client, xShmGetImageReq *stuff)
|
||||||
return BadMatch;
|
return BadMatch;
|
||||||
visual = None;
|
visual = None;
|
||||||
}
|
}
|
||||||
xgi = (xShmGetImageReply) {
|
|
||||||
.type = X_Reply,
|
|
||||||
.sequenceNumber = client->sequence,
|
|
||||||
.length = 0,
|
|
||||||
.visual = visual,
|
|
||||||
.depth = pDraw->depth
|
|
||||||
};
|
|
||||||
if (stuff->format == ZPixmap) {
|
if (stuff->format == ZPixmap) {
|
||||||
length = PixmapBytePad(stuff->width, pDraw->depth) * stuff->height;
|
length = PixmapBytePad(stuff->width, pDraw->depth) * stuff->height;
|
||||||
}
|
}
|
||||||
|
@ -664,7 +648,6 @@ ShmGetImage(ClientPtr client, xShmGetImageReq *stuff)
|
||||||
}
|
}
|
||||||
|
|
||||||
VERIFY_SHMSIZE(shmdesc, stuff->offset, length, client);
|
VERIFY_SHMSIZE(shmdesc, stuff->offset, length, client);
|
||||||
xgi.size = length;
|
|
||||||
|
|
||||||
if (length == 0) {
|
if (length == 0) {
|
||||||
/* nothing to do */
|
/* nothing to do */
|
||||||
|
@ -681,7 +664,6 @@ ShmGetImage(ClientPtr client, xShmGetImageReq *stuff)
|
||||||
stuff->format, shmdesc->addr + stuff->offset);
|
stuff->format, shmdesc->addr + stuff->offset);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
length = stuff->offset;
|
length = stuff->offset;
|
||||||
for (; plane; plane >>= 1) {
|
for (; plane; plane >>= 1) {
|
||||||
if (stuff->planeMask & plane) {
|
if (stuff->planeMask & plane) {
|
||||||
|
@ -700,15 +682,15 @@ ShmGetImage(ClientPtr client, xShmGetImageReq *stuff)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (client->swapped) {
|
xShmGetImageReply rep = {
|
||||||
swaps(&xgi.sequenceNumber);
|
.visual = visual,
|
||||||
swapl(&xgi.length);
|
.depth = pDraw->depth,
|
||||||
swapl(&xgi.visual);
|
.size = length,
|
||||||
swapl(&xgi.size);
|
};
|
||||||
}
|
|
||||||
WriteToClient(client, sizeof(xShmGetImageReply), &xgi);
|
|
||||||
|
|
||||||
return Success;
|
REPLY_FIELD_CARD32(visual);
|
||||||
|
REPLY_FIELD_CARD32(size);
|
||||||
|
REPLY_SEND_RET_SUCCESS();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -793,7 +775,6 @@ ProcShmGetImage(ClientPtr client)
|
||||||
#ifdef XINERAMA
|
#ifdef XINERAMA
|
||||||
PanoramiXRes *draw;
|
PanoramiXRes *draw;
|
||||||
DrawablePtr pDraw;
|
DrawablePtr pDraw;
|
||||||
xShmGetImageReply xgi;
|
|
||||||
ShmDescPtr shmdesc;
|
ShmDescPtr shmdesc;
|
||||||
int i, x, y, w, h, format, rc;
|
int i, x, y, w, h, format, rc;
|
||||||
Mask plane = 0, planemask;
|
Mask plane = 0, planemask;
|
||||||
|
@ -885,16 +866,6 @@ ProcShmGetImage(ClientPtr client)
|
||||||
IncludeInferiors);
|
IncludeInferiors);
|
||||||
}
|
}
|
||||||
|
|
||||||
xgi = (xShmGetImageReply) {
|
|
||||||
.type = X_Reply,
|
|
||||||
.sequenceNumber = client->sequence,
|
|
||||||
.length = 0,
|
|
||||||
.visual = wVisual(((WindowPtr) pDraw)),
|
|
||||||
.depth = pDraw->depth
|
|
||||||
};
|
|
||||||
|
|
||||||
xgi.size = length;
|
|
||||||
|
|
||||||
if (length == 0) { /* nothing to do */
|
if (length == 0) { /* nothing to do */
|
||||||
}
|
}
|
||||||
else if (format == ZPixmap) {
|
else if (format == ZPixmap) {
|
||||||
|
@ -916,15 +887,15 @@ ProcShmGetImage(ClientPtr client)
|
||||||
}
|
}
|
||||||
free(drawables);
|
free(drawables);
|
||||||
|
|
||||||
if (client->swapped) {
|
xShmGetImageReply rep = {
|
||||||
swaps(&xgi.sequenceNumber);
|
.visual = wVisual(((WindowPtr) pDraw)),
|
||||||
swapl(&xgi.length);
|
.depth = pDraw->depth,
|
||||||
swapl(&xgi.visual);
|
.size = length,
|
||||||
swapl(&xgi.size);
|
};
|
||||||
}
|
|
||||||
WriteToClient(client, sizeof(xShmGetImageReply), &xgi);
|
|
||||||
|
|
||||||
return Success;
|
REPLY_FIELD_CARD32(visual);
|
||||||
|
REPLY_FIELD_CARD32(size);
|
||||||
|
REPLY_SEND_RET_SUCCESS();
|
||||||
#else
|
#else
|
||||||
return ShmGetImage(client, stuff);
|
return ShmGetImage(client, stuff);
|
||||||
#endif /* XINERAMA */
|
#endif /* XINERAMA */
|
||||||
|
@ -1300,12 +1271,6 @@ ProcShmCreateSegment(ClientPtr client)
|
||||||
|
|
||||||
int fd;
|
int fd;
|
||||||
ShmDescPtr shmdesc;
|
ShmDescPtr shmdesc;
|
||||||
xShmCreateSegmentReply rep = {
|
|
||||||
.type = X_Reply,
|
|
||||||
.nfd = 1,
|
|
||||||
.sequenceNumber = client->sequence,
|
|
||||||
.length = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
LEGAL_NEW_RESOURCE(stuff->shmseg, client);
|
LEGAL_NEW_RESOURCE(stuff->shmseg, client);
|
||||||
if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) {
|
if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) {
|
||||||
|
@ -1361,8 +1326,12 @@ ProcShmCreateSegment(ClientPtr client)
|
||||||
close(fd);
|
close(fd);
|
||||||
return BadAlloc;
|
return BadAlloc;
|
||||||
}
|
}
|
||||||
WriteToClient(client, sizeof (xShmCreateSegmentReply), &rep);
|
|
||||||
return Success;
|
xShmCreateSegmentReply rep = {
|
||||||
|
.nfd = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
REPLY_SEND_RET_SUCCESS();
|
||||||
}
|
}
|
||||||
#endif /* SHM_FD_PASSING */
|
#endif /* SHM_FD_PASSING */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue