svn commit: r254805 - head/sys/sys
Andre Oppermann
andre at freebsd.org
Mon Aug 26 14:21:36 UTC 2013
On 26.08.2013 13:00, Gleb Smirnoff wrote:
> On Sat, Aug 24, 2013 at 07:58:36PM +0000, Andre Oppermann wrote:
> A> Author: andre
> A> Date: Sat Aug 24 19:58:36 2013
> A> New Revision: 254805
> A> URL: http://svnweb.freebsd.org/changeset/base/254805
> A>
> A> Log:
> A> Add mtodo(m, o) macro taking an additional offset into the mbuf data section.
> A>
> A> Sponsored by: The FreeBSD Foundation
> A>
> A> Modified:
> A> head/sys/sys/mbuf.h
> A>
> A> Modified: head/sys/sys/mbuf.h
> A> ==============================================================================
> A> --- head/sys/sys/mbuf.h Sat Aug 24 19:51:18 2013 (r254804)
> A> +++ head/sys/sys/mbuf.h Sat Aug 24 19:58:36 2013 (r254805)
> A> @@ -67,8 +67,10 @@
> A> * type:
> A> *
> A> * mtod(m, t) -- Convert mbuf pointer to data pointer of correct type.
> A> + * mtodo(m, o) -- Same as above but with offset 'o' into data.
> A> */
> A> #define mtod(m, t) ((t)((m)->m_data))
> A> +#define mtodo(m, o) ((void *)(((m)->m_data) + (o)))
>
> IMO, having a typecast would be better. Then mtodo() would be really same as
> mtod(), as stated in comment.
There was a big discussion about 10 month back when I did this change in my
tcp_workqueue branch with the typecast in. The conclusion was that a typecast
is really not necessary and only causes one to type a lot more for the compiler
to throw away anyway. But yes, the comment isn't perfect in that sense.
--
Andre
More information about the svn-src-head
mailing list