From fb73f7f40fa46458990038332017d4496caa0691 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sat, 14 Jul 2012 10:02:52 -0700 Subject: [PATCH] Fix two more C99 initialization mistakes using members of same struct Similar to 34cf559bcf99dad, use temporary variables instead of referencing members of the struct being initialized in the middle of the initialization. Signed-off-by: Alan Coopersmith Reviewed-by: Keith Packard --- Xext/panoramiX.c | 5 +++-- Xext/xvmc.c | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c index 5653c08e1..1c7197d5d 100644 --- a/Xext/panoramiX.c +++ b/Xext/panoramiX.c @@ -1056,11 +1056,12 @@ int ProcXineramaQueryScreens(ClientPtr client) { /* REQUEST(xXineramaQueryScreensReq); */ + CARD32 number = (noPanoramiXExtension) ? 0 : PanoramiXNumScreens; xXineramaQueryScreensReply rep = { .type = X_Reply, .sequenceNumber = client->sequence, - .length = bytes_to_int32(rep.number * sz_XineramaScreenInfo), - .number = (noPanoramiXExtension) ? 0 : PanoramiXNumScreens + .length = bytes_to_int32(number * sz_XineramaScreenInfo), + .number = number }; REQUEST_SIZE_MATCH(xXineramaQueryScreensReq); diff --git a/Xext/xvmc.c b/Xext/xvmc.c index 8d93cc3b0..5f0123b32 100644 --- a/Xext/xvmc.c +++ b/Xext/xvmc.c @@ -135,6 +135,7 @@ ProcXvMCListSurfaceTypes(ClientPtr client) xvmcSurfaceInfo info; XvMCAdaptorPtr adaptor = NULL; XvMCSurfaceInfoPtr surface; + int num_surfaces; REQUEST(xvmcListSurfaceTypesReq); REQUEST_SIZE_MATCH(xvmcListSurfaceTypesReq); @@ -154,16 +155,17 @@ ProcXvMCListSurfaceTypes(ClientPtr client) } } + num_surfaces = (adaptor) ? adaptor->num_surfaces : 0; rep = (xvmcListSurfaceTypesReply) { .type = X_Reply, .sequenceNumber = client->sequence, - .num = (adaptor) ? adaptor->num_surfaces : 0, - .length = bytes_to_int32(rep.num * sizeof(xvmcSurfaceInfo)), + .num = num_surfaces, + .length = bytes_to_int32(num_surfaces * sizeof(xvmcSurfaceInfo)), }; WriteToClient(client, sizeof(xvmcListSurfaceTypesReply), &rep); - for (i = 0; i < rep.num; i++) { + for (i = 0; i < num_surfaces; i++) { surface = adaptor->surfaces[i]; info.surface_type_id = surface->surface_type_id; info.chroma_format = surface->chroma_format;