(submit/cleanup-xv-dispatch) Xext: xv: more obvious size computations in ProcXvQueryImageAttributes()
Formulate the buffer/field size computations a bit more verbose in ProcXvQueryImageAttributes(), so they're easier to understand on reading the code. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
		
							parent
							
								
									559fe589cc
								
							
						
					
					
						commit
						85d704aac1
					
				|  | @ -1021,7 +1021,6 @@ ProcXvQueryImageAttributes(ClientPtr client) | ||||||
|     XvPortPtr pPort; |     XvPortPtr pPort; | ||||||
|     int32_t *offsets; |     int32_t *offsets; | ||||||
|     int32_t *pitches; |     int32_t *pitches; | ||||||
|     int planeLength; |  | ||||||
| 
 | 
 | ||||||
|     REQUEST(xvQueryImageAttributesReq); |     REQUEST(xvQueryImageAttributesReq); | ||||||
| 
 | 
 | ||||||
|  | @ -1046,7 +1045,9 @@ ProcXvQueryImageAttributes(ClientPtr client) | ||||||
| 
 | 
 | ||||||
|     num_planes = pImage->num_planes; |     num_planes = pImage->num_planes; | ||||||
| 
 | 
 | ||||||
|     if (!(offsets = calloc(1, num_planes << 3))) |     // allocating for `offsets` as well as `pitches` in one block
 | ||||||
|  |     // both having CARD32 * num_planes (actually int32_t put into CARD32)
 | ||||||
|  |     if (!(offsets = calloc(num_planes*2, sizeof(CARD32)))) | ||||||
|         return BadAlloc; |         return BadAlloc; | ||||||
|     pitches = offsets + num_planes; |     pitches = offsets + num_planes; | ||||||
| 
 | 
 | ||||||
|  | @ -1060,7 +1061,7 @@ ProcXvQueryImageAttributes(ClientPtr client) | ||||||
|     rep = (xvQueryImageAttributesReply) { |     rep = (xvQueryImageAttributesReply) { | ||||||
|         .type = X_Reply, |         .type = X_Reply, | ||||||
|         .sequenceNumber = client->sequence, |         .sequenceNumber = client->sequence, | ||||||
|         .length = planeLength = num_planes << 1, |         .length = num_planes * 2, // in 32bit units
 | ||||||
|         .num_planes = num_planes, |         .num_planes = num_planes, | ||||||
|         .width = width, |         .width = width, | ||||||
|         .height = height, |         .height = height, | ||||||
|  | @ -1069,8 +1070,8 @@ ProcXvQueryImageAttributes(ClientPtr client) | ||||||
| 
 | 
 | ||||||
|     _WriteQueryImageAttributesReply(client, &rep); |     _WriteQueryImageAttributesReply(client, &rep); | ||||||
|     if (client->swapped) |     if (client->swapped) | ||||||
|         SwapLongs((CARD32 *) offsets, planeLength); |         SwapLongs((CARD32 *) offsets, rep.length); | ||||||
|     WriteToClient(client, planeLength << 2, offsets); |     WriteToClient(client, rep.length * sizeof(CARD32), offsets); | ||||||
| 
 | 
 | ||||||
|     free(offsets); |     free(offsets); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue