[PATCH] some sparse fixes for xf86-video-intel
Eric Anholt
eric at anholt.net
Tue Jan 2 19:27:44 PST 2007
On Tue, 2007-01-02 at 18:56 -0800, Jesse Barnes wrote:
> Started to get sparse running against the Intel gfx tree tonight
> (specifically the modesetting branch) and found a few warnings in
> i830_dri.c (the first file I happened to look at). There's only
> one fix of any note in here, that's the removal of a redundant pScrn
> variable in I830DRISwapContext, which also became static to match
> the prototype.
>
> Do these sorts of fixes look ok? If so, I'll go ahead and push them
> upstream.
>
> Using the sparse package from Fedora Extras is pretty easy, just set
> CC=cgcc before running configure. The default build doesn't quite
> work though, some libtool problem I haven't looked at yet...
Looks good to me. I actually thought I'd already committed an
equivalent patch from when I was playing with sparse.
> diff --git a/src/i830_dri.c b/src/i830_dri.c
> index 5fdacc7..eeef289 100644
> --- a/src/i830_dri.c
> +++ b/src/i830_dri.c
> @@ -216,9 +216,9 @@ I830InitVisualConfigs(ScreenPtr pScreen)
> ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
> I830Ptr pI830 = I830PTR(pScrn);
> int numConfigs = 0;
> - __GLXvisualConfig *pConfigs = 0;
> - I830ConfigPrivPtr pI830Configs = 0;
> - I830ConfigPrivPtr *pI830ConfigPtrs = 0;
> + __GLXvisualConfig *pConfigs = NULL;
> + I830ConfigPrivPtr pI830Configs = NULL;
> + I830ConfigPrivPtr *pI830ConfigPtrs = NULL;
> int accum, stencil, db, depth;
> int i;
>
> @@ -538,7 +538,7 @@ I830DRIScreenInit(ScreenPtr pScreen)
>
> if (!(pI830DRI = (I830DRIPtr) xcalloc(sizeof(I830DRIRec), 1))) {
> DRIDestroyInfoRec(pI830->pDRIInfo);
> - pI830->pDRIInfo = 0;
> + pI830->pDRIInfo = NULL;
> return FALSE;
> }
> pDRIInfo->devPrivate = pI830DRI;
> @@ -561,9 +561,9 @@ I830DRIScreenInit(ScreenPtr pScreen)
> xf86DrvMsg(pScreen->myNum, X_ERROR,
> "[dri] DRIScreenInit failed. Disabling DRI.\n");
> xfree(pDRIInfo->devPrivate);
> - pDRIInfo->devPrivate = 0;
> + pDRIInfo->devPrivate = NULL;
> DRIDestroyInfoRec(pI830->pDRIInfo);
> - pI830->pDRIInfo = 0;
> + pI830->pDRIInfo = NULL;
> return FALSE;
> }
>
> @@ -951,10 +951,10 @@ I830DRICloseScreen(ScreenPtr pScreen)
> if (pI830->pDRIInfo) {
> if (pI830->pDRIInfo->devPrivate) {
> xfree(pI830->pDRIInfo->devPrivate);
> - pI830->pDRIInfo->devPrivate = 0;
> + pI830->pDRIInfo->devPrivate = NULL;
> }
> DRIDestroyInfoRec(pI830->pDRIInfo);
> - pI830->pDRIInfo = 0;
> + pI830->pDRIInfo = NULL;
> }
> if (pI830->pVisualConfigs)
> xfree(pI830->pVisualConfigs);
> @@ -1025,7 +1025,7 @@ I830DRIFinishScreenInit(ScreenPtr pScreen)
> }
> }
>
> -void
> +static void
> I830DRISwapContext(ScreenPtr pScreen, DRISyncType syncType,
> DRIContextType oldContextType, void *oldContext,
> DRIContextType newContextType, void *newContext)
> @@ -1035,7 +1035,6 @@ I830DRISwapContext(ScreenPtr pScreen, DRISyncType syncType,
>
> if (syncType == DRI_3D_SYNC &&
> oldContextType == DRI_2D_CONTEXT && newContextType == DRI_2D_CONTEXT) {
> - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
>
> if (I810_DEBUG & DEBUG_VERBOSE_DRI)
> ErrorF("i830DRISwapContext (in)\n");
> @@ -1128,9 +1127,9 @@ I830DRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
> BoxPtr pbox = REGION_RECTS(prgnSrc);
> int nbox = REGION_NUM_RECTS(prgnSrc);
>
> - BoxPtr pboxNew1 = 0;
> - BoxPtr pboxNew2 = 0;
> - DDXPointPtr pptNew1 = 0;
> + BoxPtr pboxNew1 = NULL;
> + BoxPtr pboxNew2 = NULL;
> + DDXPointPtr pptNew1 = NULL;
> DDXPointPtr pptSrc = &ptOldOrg;
>
> int dx = pParent->drawable.x - ptOldOrg.x;
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
--
Eric Anholt anholt at FreeBSD.org
eric at anholt.net eric.anholt at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20070102/d9c9be9b/attachment.pgp>
More information about the xorg
mailing list