Re: [PULL] http://linuxtv.org/hg/~tap/v4l-dvb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 3 Mar 2009, Mauro Carvalho Chehab wrote:
> On Tue, 3 Mar 2009 13:59:27 -0800 (PST)
> Trent Piepho <xyzzy@xxxxxxxxxxxxx> wrote:
>
> > 04/04: v4l2: Move code to zero querybuf output struct to v4l2_ioctl
> > http://linuxtv.org/hg/~tap/v4l-dvb?cmd=changeset;node=d31e6e7a8241
>
> Hmm.. The idea of using this memset seemed interesting:
>
> f02233e4 (Trent Piepho          2009-03-03 20:44:45 -0300  974)                 memset(0, &p->bytesused,
> f02233e4 (Trent Piepho          2009-03-03 20:44:45 -0300  975)                        sizeof(*p) - offsetof(typeof(*p), bytesused));
>
> But the end result is that, when compiling it on my -git tree, to have those errors with i386:
>
> drivers/media/video/v4l2-ioctl.c: In function ‘__video_do_ioctl’:
> drivers/media/video/v4l2-ioctl.c:974: warning: cast from pointer to integer of different size
> drivers/media/video/v4l2-ioctl.c:974: warning: cast from pointer to integer of different size
> drivers/media/video/v4l2-ioctl.c:974: warning: passing argument 2 of ‘__memset_generic’ makes integer from pointer without a cast
> drivers/media/video/v4l2-ioctl.c:974: warning: passing argument 2 of ‘__memset_generic’ makes integer from pointer without a cast
>
> Could you please provide us a fix?

Opps, the memset arguments are in the wrong order.  It should be instead:

memset(&p->bytesused, 0, sizeof(*p) - offsetof(typeof(*p), bytesused));

I wonder why I didn't get that warning?

I've extended this idea in a more generic fashion to all the ioctls that
are like querybuf, which replaced this code with some that's correct.  I'll
send a pull request shortly.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux