for (pptmax = ppt + n; ppt < pptmax; ppt++) { w = *pwidth++; x = ppt->x; y = ppt->y;
for (pptmax = ppt + n; ppt < pptmax; ppt++, pwidth++) { w = pwidth[0]; x = ppt[0].x; y = ppt[0].y;
pxDoFillSpans(DrawablePtr pDrawable, GCPtr pGC, pxPrivGCPtr gcPriv,	      BoxPtr pOneBox, int n, DDXPointPtr ppt, int *pwidth){	pxScreenPrivPtr sp;	DDXPointPtr pptmax;	int psy, x, y, w;	u_int32_t *pb;	pxPacket pxp;	PX_TRACE("pxDoFillSpans");	sp = gcPriv->sp;	pb = pxPacketStart(sp, &pxp, 6, 2);	pb[0] = STAMP_CMD_LINES | STAMP_RGB_CONST | STAMP_LW_PERPACKET;	pb[1] = gcPriv->pmask;	pb[2] = 0;	pb[3] = gcPriv->umet;	pb[4] = (1 << 2) - 1;	pb[5] = gcPriv->fgFill;	for (pptmax = ppt + n; ppt < pptmax; ppt++) {		w = *pwidth++;		x = ppt->x;		y = ppt->y;		if (pOneBox != NULL) {			if (y < pOneBox->y1 || y >= pOneBox->y2)				continue;			if (x < pOneBox->x1) {				w -= (pOneBox->x1 - x);				if (w <= 0)					continue;				x = pOneBox->x1;			}			if (x + w > pOneBox->x2) {				if (x >= pOneBox->x2)					continue;				w = pOneBox->x2 - x;			}		}		psy = (y << 3) + (1 << 2) - 1;		pb = pxPacketAddPrim(sp, &pxp);		pb[0] = (x << 19) | psy;		pb[1] = ((x + w) << 19) | psy;	}	pxPacketFlush(sp, &pxp);}