From b0dad860b9bbe5db7ae7cf5ef1a8eacb3cb5db05 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 19 Mar 2008 16:42:18 -0400 Subject: [PATCH] Fix ioctl() outparameter on LP64 systems. --- src/v4l.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/v4l.c b/src/v4l.c index c7b3d38..b827f80 100644 --- a/src/v4l.c +++ b/src/v4l.c @@ -592,7 +592,8 @@ V4lSetPortAttribute(ScrnInfoPtr pScrn, if (-1 == ioctl(V4L_FD,VIDIOCSAUDIO,&pPPriv->audio)) perror("ioctl VIDIOCSAUDIO"); } else if (attribute == xvFreq) { - if (-1 == ioctl(V4L_FD,VIDIOCSFREQ,&value)) + unsigned long freq = value; + if (-1 == ioctl(V4L_FD,VIDIOCSFREQ,&freq)) perror("ioctl VIDIOCSFREQ"); } else if (0 != pPPriv->yuv_format && pPPriv->myfmt->setAttribute) { @@ -644,7 +645,9 @@ V4lGetPortAttribute(ScrnInfoPtr pScrn, ret = BadValue; } } else if (attribute == xvFreq) { - ioctl(V4L_FD,VIDIOCGFREQ,value); + unsigned long freq; + ioctl(V4L_FD,VIDIOCGFREQ,&freq); + *value = freq; } else if (0 != pPPriv->yuv_format && pPPriv->myfmt->getAttribute) { /* not mine -> pass to yuv scaler driver */